Version Notes
Bug fix when applying attributes translations
Download this release
Release Info
Developer | Chris |
Extension | straker-translations-easy-translation-platform |
Version | 1.3.6 |
Comparing to | |
See all releases |
Code changes from version 1.3.5 to 1.3.6
- app/code/community/StrakerTranslations/EasyTranslationPlatform/.DS_Store +0 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Cms/Block/Grid.php +48 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Cms/Page/Grid.php +49 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job.php +19 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Attribute.php +41 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Attribute/Grid.php +201 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Category.php +41 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Category/Grid.php +196 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Cms/Block.php +41 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Cms/Block/Grid.php +141 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Cms/Page.php +41 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Cms/Page/Grid.php +141 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Grid.php +140 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Product.php +41 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Product/Grid.php +196 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Attribute.php +29 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Attribute/Confirm.php +41 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Attribute/Confirm/Grid.php +107 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Attribute/Grid.php +197 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Category/Attribute.php +6 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Category/Confirm.php +40 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Category/Confirm/Grid.php +180 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Category/Tree.php +252 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Block.php +47 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Block/Attribute.php +17 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Block/Confirm.php +48 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Block/Confirm/Grid.php +102 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Block/Grid.php +124 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Page.php +47 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Page/Attribute.php +20 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Page/Confirm.php +48 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Page/Confirm/Grid.php +109 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Page/Grid.php +136 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Confirm.php +42 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Confirm/Grid.php +150 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Products.php +53 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Products/Attribute.php +33 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Products/Confirm.php +41 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Products/Confirm/Grid.php +150 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Products/Grid.php +277 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Register.php +31 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Selectstore.php +6 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Setupstore.php +24 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Type.php +20 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/System/Config/Form/Backupbutton.php +50 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/System/Config/Form/Button.php +50 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/System/Config/Form/Restorebutton.php +50 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/System/Config/Form/Store.php +48 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Action.php +15 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/AttributeOriginalLabel.php +18 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/AttributeOriginalOption.php +19 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/AttributeTranslateLabel.php +18 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/AttributeTranslateOption.php +19 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Backend.php +40 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/CmsOriginTitle.php +10 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/CmsVersion.php +20 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/ConfirmTranslateLabel.php +28 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/ConfirmTranslateOptions.php +33 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Dispute.php +11 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Frontend.php +35 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Path.php +17 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Quote.php +22 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Refresh.php +12 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Selected.php +65 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Status.php +33 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/StrakerTranslated.php +14 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/TranslateOptions.php +17 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Translated.php +14 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Update.php +12 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Version.php +14 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Helper/Data.php +89 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Actionlog.php +39 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Api.php +242 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Attribute/Translate.php +145 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Category/Attributes.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Category/Translate.php +45 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Cms/Block/Attributes.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Cms/Block/Translate.php +51 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Cms/Page/Attributes.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Cms/Page/Translate.php +54 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job.php +1043 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Attribute.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Category.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Cms/Block.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Cms/Page.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Product.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Status.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Type.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Product/Attributes.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Product/Translate.php +51 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Actionlog.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Actionlog/Collection.php +17 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Attribute/Translate.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Attribute/Translate/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Category/Attributes.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Category/Attributes/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Category/Translate.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Category/Translate/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Block/Attributes.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Block/Attributes/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Block/Translate.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Block/Translate/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Page/Attributes.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Page/Attributes/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Page/Translate.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Page/Translate/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job.php +47 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Attribute.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Attribute/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Category.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Category/Collection.php +27 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Cms/Block.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Cms/Block/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Cms/Page.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Cms/Page/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Product.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Product/Collection.php +27 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Status.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Status/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Type.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Type/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Product/Attributes.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Product/Attributes/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Product/Translate.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Product/Translate/Collection.php +16 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/System/Config/Source/SiteMode.php +59 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/AttributeController.php +201 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/CategoryController.php +219 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/Cms/BlockController.php +186 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/Cms/PageController.php +186 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/JobController.php +131 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/NewController.php +240 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/ProductController.php +207 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/CallbackController.php +45 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/data/strakertranslations_easytranslationplatform_setup/data-install-1.2.0.php +22 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/data/strakertranslations_easytranslationplatform_setup/data-upgrade-1.2.0-1.3.0.php +11 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/etc/.DS_Store +0 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/etc/adminhtml.xml +76 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/etc/config.xml +156 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/etc/system.xml +150 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/sql/strakertranslations_easytranslationplatform_setup/install-1.2.0.php +752 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/sql/strakertranslations_easytranslationplatform_setup/upgrade-1.2.0-1.3.0.php +358 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/sql/strakertranslations_easytranslationplatform_setup/upgrade-1.3.0-1.3.1.php +91 -0
- app/code/community/StrakerTranslations/EasyTranslationPlatform/sql/strakertranslations_easytranslationplatform_setup/upgrade-1.3.3-1.3.4.php +80 -0
- package.xml +5 -5
app/code/community/StrakerTranslations/EasyTranslationPlatform/.DS_Store
ADDED
Binary file
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Cms/Block/Grid.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Cms_Block_Grid extends Mage_Adminhtml_Block_Cms_Block_Grid {
|
3 |
+
protected function _prepareCollection()
|
4 |
+
{
|
5 |
+
/* @var $collection Mage_Cms_Model_Resource_Block_Collection */
|
6 |
+
$collection = Mage::getModel('cms/block')->getCollection();
|
7 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
8 |
+
$collection->getSelect()->joinLeft(
|
9 |
+
array('straker' => $collection->getTable('strakertranslations_easytranslationplatform/job_cmsblock')),
|
10 |
+
'straker.new_entity_id = main_table.block_id',
|
11 |
+
array('straker_translated' => 'straker.version')
|
12 |
+
);
|
13 |
+
$this->setCollection($collection);
|
14 |
+
|
15 |
+
return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
|
16 |
+
}
|
17 |
+
|
18 |
+
protected function _prepareColumns()
|
19 |
+
{
|
20 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
21 |
+
$this->addColumnAfter('straker_translated', array(
|
22 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Created by Straker'),
|
23 |
+
'type' => 'options',
|
24 |
+
'options' => array('0' => 'No', '1' => 'Yes'),
|
25 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_StrakerTranslated',
|
26 |
+
'index' => 'straker_translated',
|
27 |
+
'filter_index' => 'straker.version',
|
28 |
+
'filter_condition_callback' => array($this, '_filterStrakerVersion')
|
29 |
+
), 'update_time');
|
30 |
+
}
|
31 |
+
return parent::_prepareColumns();
|
32 |
+
}
|
33 |
+
|
34 |
+
protected function _filterStrakerVersion($collection, $column)
|
35 |
+
{
|
36 |
+
$value = $column->getFilter()->getValue();
|
37 |
+
if ($value == 0) {
|
38 |
+
$this->getCollection()->getSelect()->where(
|
39 |
+
"straker.version IS NULL");
|
40 |
+
}
|
41 |
+
else {
|
42 |
+
$this->getCollection()->getSelect()->where(
|
43 |
+
"straker.version = ".$value);
|
44 |
+
}
|
45 |
+
|
46 |
+
return $this;
|
47 |
+
}
|
48 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Cms/Page/Grid.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Cms_Page_Grid extends Mage_Adminhtml_Block_Cms_Page_Grid {
|
3 |
+
protected function _prepareCollection()
|
4 |
+
{
|
5 |
+
/* @var $collection Mage_Cms_Model_Resource_Page_Collection */
|
6 |
+
$collection = Mage::getModel('cms/page')->getCollection();
|
7 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
8 |
+
$collection->getSelect()->joinLeft(
|
9 |
+
array('straker' => $collection->getTable('strakertranslations_easytranslationplatform/job_cmspage')),
|
10 |
+
'straker.new_entity_id = main_table.page_id',
|
11 |
+
array('straker_translated' => 'straker.version')
|
12 |
+
);
|
13 |
+
$collection->setFirstStoreFlag(true);
|
14 |
+
$this->setCollection($collection);
|
15 |
+
|
16 |
+
return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
|
17 |
+
}
|
18 |
+
|
19 |
+
protected function _prepareColumns()
|
20 |
+
{
|
21 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
22 |
+
$this->addColumnAfter('straker_translated', array(
|
23 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Created by Straker'),
|
24 |
+
'type' => 'options',
|
25 |
+
'options' => array('0' => 'No', '1' => 'Yes'),
|
26 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_StrakerTranslated',
|
27 |
+
'index' => 'straker_translated',
|
28 |
+
'filter_index' => 'straker.version',
|
29 |
+
'filter_condition_callback' => array($this, '_filterStrakerVersion')
|
30 |
+
), 'page_actions');
|
31 |
+
}
|
32 |
+
return parent::_prepareColumns();
|
33 |
+
}
|
34 |
+
|
35 |
+
protected function _filterStrakerVersion($collection, $column)
|
36 |
+
{
|
37 |
+
$value = $column->getFilter()->getValue();
|
38 |
+
if ($value == 0) {
|
39 |
+
$this->getCollection()->getSelect()->where(
|
40 |
+
"straker.version IS NULL");
|
41 |
+
}
|
42 |
+
else {
|
43 |
+
$this->getCollection()->getSelect()->where(
|
44 |
+
"straker.version = ".$value);
|
45 |
+
}
|
46 |
+
|
47 |
+
return $this;
|
48 |
+
}
|
49 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
public function __construct()
|
4 |
+
{
|
5 |
+
parent::__construct();
|
6 |
+
$this->setTemplate('straker/job.phtml');
|
7 |
+
}
|
8 |
+
|
9 |
+
protected function _prepareLayout()
|
10 |
+
{
|
11 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_job_grid', 'job.grid'));
|
12 |
+
return parent::_prepareLayout();
|
13 |
+
}
|
14 |
+
|
15 |
+
public function getGridHtml()
|
16 |
+
{
|
17 |
+
return $this->getChildHtml('grid');
|
18 |
+
}
|
19 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Attribute.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Attribute extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
protected $_job;
|
5 |
+
|
6 |
+
public function __construct()
|
7 |
+
{
|
8 |
+
parent::__construct();
|
9 |
+
$this->setTemplate('straker/job/attribute.phtml');
|
10 |
+
}
|
11 |
+
|
12 |
+
protected function _prepareLayout()
|
13 |
+
{
|
14 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
15 |
+
$jobStatus = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId)->getStatusId();
|
16 |
+
if ( $jobStatus == '4'){
|
17 |
+
$this->_addButton('publish', array(
|
18 |
+
'label' => Mage::helper('catalog')->__('Publish All Translations'),
|
19 |
+
'onclick' => "setLocation('{$this->getUrl('*/*/copyAll',array('job_id'=>$jobId))}');",
|
20 |
+
'class' => 'task'
|
21 |
+
));
|
22 |
+
}
|
23 |
+
|
24 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_job_attribute_grid', 'job_attribute.grid'));
|
25 |
+
$this->getChild('grid')->setStatusId($jobStatus);
|
26 |
+
return parent::_prepareLayout();
|
27 |
+
}
|
28 |
+
|
29 |
+
public function getGridHtml()
|
30 |
+
{
|
31 |
+
return $this->getChildHtml('grid');
|
32 |
+
}
|
33 |
+
|
34 |
+
public function getJob(){
|
35 |
+
if(!$this->_job) {
|
36 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
37 |
+
$this->_job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId);
|
38 |
+
}
|
39 |
+
return $this->_job;
|
40 |
+
}
|
41 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Attribute/Grid.php
ADDED
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Attribute_Grid extends Mage_Adminhtml_Block_Widget_Grid {
|
4 |
+
|
5 |
+
public function __construct() {
|
6 |
+
parent::__construct();
|
7 |
+
$this->setId('strakerJobAttributeGrid');
|
8 |
+
$this->setSaveParametersInSession(true);
|
9 |
+
}
|
10 |
+
|
11 |
+
protected function _prepareLayout()
|
12 |
+
{
|
13 |
+
$this->setChild('dispute_button',
|
14 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
15 |
+
->setData(array(
|
16 |
+
'label' => Mage::helper('catalog')->__('Feedback'),
|
17 |
+
'onclick' => 'disputeForm.show(\''.$this->getRequest()->getParam('job_id').'\')',
|
18 |
+
'class' => 'feedback'
|
19 |
+
))
|
20 |
+
);
|
21 |
+
|
22 |
+
return parent::_prepareLayout();
|
23 |
+
}
|
24 |
+
|
25 |
+
protected function _prepareCollection() {
|
26 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
27 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
28 |
+
|
29 |
+
/** @var StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Attribute_Collection $collection */
|
30 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/job_attribute')->getCollection()
|
31 |
+
->addFieldToFilter('main_table.job_id', $job->getId());
|
32 |
+
|
33 |
+
$collection->getSelect()
|
34 |
+
->joinLeft(
|
35 |
+
array('ea' => $collection->getTable('eav/attribute')),
|
36 |
+
'ea.attribute_id = main_table.attribute_id',
|
37 |
+
array('attribute_code' => 'attribute_code')
|
38 |
+
)->joinLeft(
|
39 |
+
array('translate' => $collection->getTable('strakertranslations_easytranslationplatform/straker_attribute_translate')),
|
40 |
+
'translate.attribute_id = main_table.attribute_id AND translate.job_id = '.$job->getId(),
|
41 |
+
array('original' => 'original', 'translate' => 'translate')
|
42 |
+
);
|
43 |
+
|
44 |
+
|
45 |
+
//echo $collection->getSelect();
|
46 |
+
//die();
|
47 |
+
$this->setCollection($collection);
|
48 |
+
return parent::_prepareCollection();
|
49 |
+
}
|
50 |
+
|
51 |
+
protected function _prepareColumns() {
|
52 |
+
$this->addColumn('id', array(
|
53 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('ID'),
|
54 |
+
'align' => 'right',
|
55 |
+
'width' => '50px',
|
56 |
+
'index' => 'id',
|
57 |
+
));
|
58 |
+
|
59 |
+
$this->addColumn('attribute_id', array(
|
60 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Attribute ID'),
|
61 |
+
'align' => 'left',
|
62 |
+
'index' => 'attribute_id',
|
63 |
+
));
|
64 |
+
|
65 |
+
$this->addColumn('attribute_code', array(
|
66 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Attribute Code'),
|
67 |
+
'align' => 'left',
|
68 |
+
'index' => 'attribute_code',
|
69 |
+
));
|
70 |
+
|
71 |
+
|
72 |
+
$this->addColumn('label_original', array(
|
73 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Label - Source'),
|
74 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_AttributeOriginalLabel',
|
75 |
+
'align' => 'center',
|
76 |
+
'index' => false,
|
77 |
+
'sortable'=> false,
|
78 |
+
'filter' => false,
|
79 |
+
));
|
80 |
+
|
81 |
+
$this->addColumn('option_original', array(
|
82 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Option - Source'),
|
83 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_AttributeOriginalOption',
|
84 |
+
'align' => 'center',
|
85 |
+
'index' => false,
|
86 |
+
'sortable'=> false,
|
87 |
+
'filter' => false,
|
88 |
+
));
|
89 |
+
|
90 |
+
$this->addColumn('label_translate', array(
|
91 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Label - Target'),
|
92 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_AttributeTranslateLabel',
|
93 |
+
'align' => 'center',
|
94 |
+
'index' => false,
|
95 |
+
'sortable'=> false,
|
96 |
+
'filter' => false,
|
97 |
+
));
|
98 |
+
|
99 |
+
$this->addColumn('option_translate', array(
|
100 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Option - Target'),
|
101 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_AttributeTranslateOption',
|
102 |
+
'align' => 'center',
|
103 |
+
'index' => false,
|
104 |
+
'sortable'=> false,
|
105 |
+
'filter' => false,
|
106 |
+
));
|
107 |
+
|
108 |
+
if ($this->getStatusId() == '4'){
|
109 |
+
$this->addColumn('version', array(
|
110 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Published'),
|
111 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Version',
|
112 |
+
'align' => 'center',
|
113 |
+
'index' => false,
|
114 |
+
'filter' => false,
|
115 |
+
));
|
116 |
+
}
|
117 |
+
|
118 |
+
// $this->addColumn('view_backend', array(
|
119 |
+
// 'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('View Backend'),
|
120 |
+
// 'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Backend',
|
121 |
+
// 'align' => 'center',
|
122 |
+
// 'index' => false,
|
123 |
+
// 'filter' => false,
|
124 |
+
// ));
|
125 |
+
|
126 |
+
return parent::_prepareColumns();
|
127 |
+
}
|
128 |
+
|
129 |
+
public function getRowUrl($row) {
|
130 |
+
// return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
131 |
+
return '';
|
132 |
+
}
|
133 |
+
|
134 |
+
protected function _prepareMassaction()
|
135 |
+
{
|
136 |
+
if ($this->getStatusId() == '4') {
|
137 |
+
|
138 |
+
$this->setMassactionIdField('attribute_id');
|
139 |
+
$this->getMassactionBlock()->setFormFieldName('attribute');
|
140 |
+
|
141 |
+
$this->getMassactionBlock()->addItem('add', array(
|
142 |
+
'label' => Mage::helper('catalog')->__('Publish Translation'),
|
143 |
+
'url' => $this->getUrl('*/*/applyTranslation'),
|
144 |
+
'selected' => 1
|
145 |
+
));
|
146 |
+
|
147 |
+
$this->getMassactionBlock()->setTemplate('straker/job/attribute/massaction.phtml');
|
148 |
+
|
149 |
+
$hiddenParams = '<input type="hidden" name="job_id" value="' . $this->getRequest()->getParam('job_id') . '" />';
|
150 |
+
$this->getMassactionBlock()->setHiddenParams($hiddenParams);
|
151 |
+
|
152 |
+
|
153 |
+
// Mage::dispatchEvent('adminhtml_strakertranslation_job_product_grid_prepare_massaction', array('block' => $this));
|
154 |
+
return $this;
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
protected function _prepareMassactionColumn()
|
159 |
+
{
|
160 |
+
if ($this->getStatusId() == '4') {
|
161 |
+
$columnId = 'massaction';
|
162 |
+
$massactionColumn = $this->getLayout()->createBlock('adminhtml/widget_grid_column')
|
163 |
+
->setData(array(
|
164 |
+
'index' => $this->getMassactionIdField(),
|
165 |
+
'use_index' => $this->getMassactionIdField(),
|
166 |
+
'filter_index' => $this->getMassactionIdFilter(),
|
167 |
+
'type' => 'massaction',
|
168 |
+
'name' => $this->getMassactionBlock()->getFormFieldName(),
|
169 |
+
'align' => 'center',
|
170 |
+
'is_system' => true
|
171 |
+
));
|
172 |
+
|
173 |
+
if ($this->getNoFilterMassactionColumn()) {
|
174 |
+
$massactionColumn->setData('filter', false);
|
175 |
+
}
|
176 |
+
|
177 |
+
$massactionColumn->setSelected($this->getMassactionBlock()->getSelected())
|
178 |
+
->setGrid($this)
|
179 |
+
->setId($columnId);
|
180 |
+
|
181 |
+
$oldColumns = $this->_columns;
|
182 |
+
$this->_columns = array();
|
183 |
+
$this->_columns[$columnId] = $massactionColumn;
|
184 |
+
$this->_columns = array_merge($this->_columns, $oldColumns);
|
185 |
+
return $this;
|
186 |
+
}
|
187 |
+
}
|
188 |
+
|
189 |
+
public function getMainButtonsHtml()
|
190 |
+
{
|
191 |
+
$html = '';
|
192 |
+
if ($this->getStatusId() == '4') {
|
193 |
+
$html .= $this->getChildHtml('dispute_button');
|
194 |
+
}
|
195 |
+
if($this->getFilterVisibility()){
|
196 |
+
$html.= $this->getResetFilterButtonHtml();
|
197 |
+
$html.= $this->getSearchButtonHtml();
|
198 |
+
}
|
199 |
+
return $html;
|
200 |
+
}
|
201 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Category.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Category extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
protected $_job;
|
5 |
+
|
6 |
+
public function __construct()
|
7 |
+
{
|
8 |
+
parent::__construct();
|
9 |
+
$this->setTemplate('straker/job/category.phtml');
|
10 |
+
}
|
11 |
+
|
12 |
+
protected function _prepareLayout()
|
13 |
+
{
|
14 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
15 |
+
$jobStatus = $this->getJob()->getStatusId();
|
16 |
+
if ( $jobStatus == '4'){
|
17 |
+
$this->_addButton('publish', array(
|
18 |
+
'label' => Mage::helper('catalog')->__('Publish All Translations'),
|
19 |
+
'onclick' => "setLocation('{$this->getUrl('*/*/copyAll',array('job_id'=>$jobId))}');",
|
20 |
+
'class' => 'task'
|
21 |
+
));
|
22 |
+
}
|
23 |
+
|
24 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_job_category_grid', 'job_category.grid'));
|
25 |
+
$this->getChild('grid')->setStatusId($jobStatus);
|
26 |
+
return parent::_prepareLayout();
|
27 |
+
}
|
28 |
+
|
29 |
+
public function getGridHtml()
|
30 |
+
{
|
31 |
+
return $this->getChildHtml('grid');
|
32 |
+
}
|
33 |
+
|
34 |
+
public function getJob(){
|
35 |
+
if(!$this->_job) {
|
36 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
37 |
+
$this->_job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId);
|
38 |
+
}
|
39 |
+
return $this->_job;
|
40 |
+
}
|
41 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Category/Grid.php
ADDED
@@ -0,0 +1,196 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Category_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
4 |
+
{
|
5 |
+
|
6 |
+
public function __construct()
|
7 |
+
{
|
8 |
+
parent::__construct();
|
9 |
+
$this->setId('strakerJobCategoryGrid');
|
10 |
+
$this->setSaveParametersInSession(true);
|
11 |
+
}
|
12 |
+
|
13 |
+
protected function _prepareLayout()
|
14 |
+
{
|
15 |
+
$this->setChild('dispute_button',
|
16 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
17 |
+
->setData(array(
|
18 |
+
'label' => Mage::helper('catalog')->__('Feedback'),
|
19 |
+
'onclick' => 'disputeForm.show(\'' . $this->getRequest()->getParam('job_id') . '\')',
|
20 |
+
'class' => 'feedback'
|
21 |
+
))
|
22 |
+
);
|
23 |
+
|
24 |
+
$this->setChild('grid', $this->getLayout()->createBlock('adminhtml/catalog_category_grid', 'category.grid'));
|
25 |
+
return parent::_prepareLayout();
|
26 |
+
}
|
27 |
+
|
28 |
+
protected function _prepareCollection()
|
29 |
+
{
|
30 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
31 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
32 |
+
$jobAttributes = Mage::getModel('strakertranslations_easytranslationplatform/category_attributes')->getCollection()->addFieldToFilter('job_id', $job->getId());
|
33 |
+
|
34 |
+
/** @var StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Category_Collection $collection */
|
35 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/job_category')->getCollection()->addFieldToFilter('main_table.job_id', $job->getId());
|
36 |
+
|
37 |
+
//loop through this job's attributes and join them to the collection
|
38 |
+
foreach ($jobAttributes as $jobAttribute) {
|
39 |
+
$attributeCode = Mage::getModel('eav/entity_attribute')->load($jobAttribute->getAttributeId())->getAttributeCode();
|
40 |
+
$collection->getSelect()->joinLeft(
|
41 |
+
array($attributeCode => $collection->getTable('strakertranslations_easytranslationplatform/category_translate')),
|
42 |
+
$attributeCode . '.category_id = main_table.category_id
|
43 |
+
AND ' . $attributeCode . '.attribute_id = ' . $jobAttribute->getAttributeId() . '
|
44 |
+
AND ' . $attributeCode . '.job_id = ' . $job->getId(),
|
45 |
+
array($attributeCode . '_original' => 'original', $attributeCode . '_translate' => 'translate')
|
46 |
+
);
|
47 |
+
}
|
48 |
+
//echo $collection->getSelect()->__toString();
|
49 |
+
//die();
|
50 |
+
$this->setCollection($collection);
|
51 |
+
return parent::_prepareCollection();
|
52 |
+
}
|
53 |
+
|
54 |
+
protected function _prepareColumns()
|
55 |
+
{
|
56 |
+
// $this->addColumn('id', array(
|
57 |
+
// 'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('ID'),
|
58 |
+
// 'align' => 'right',
|
59 |
+
// 'width' => '50px',
|
60 |
+
// 'index' => 'id',
|
61 |
+
// ));
|
62 |
+
|
63 |
+
$this->addColumn('category_id', array(
|
64 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Category ID'),
|
65 |
+
'align' => 'left',
|
66 |
+
'index' => 'category_id',
|
67 |
+
));
|
68 |
+
|
69 |
+
// $this->addColumn('job_id', array(
|
70 |
+
// 'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Job ID'),
|
71 |
+
// 'align' => 'left',
|
72 |
+
// 'index' => 'job_id',
|
73 |
+
// ));
|
74 |
+
|
75 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
76 |
+
$jobAttributes = Mage::getModel('strakertranslations_easytranslationplatform/category_attributes')->getCollection()->addFieldToFilter('job_id', $job->getId());
|
77 |
+
|
78 |
+
//loop through this job's attributes and add columns to the grid
|
79 |
+
foreach ($jobAttributes as $jobAttribute) {
|
80 |
+
$attributeCode = Mage::getModel('eav/entity_attribute')->load($jobAttribute->getAttributeId())->getAttributeCode();
|
81 |
+
$attrModel = Mage::getModel('eav/entity_attribute')->loadByCode(3, $attributeCode);
|
82 |
+
$this->addColumn($attributeCode . '_original', array(
|
83 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('%s - Source', $attrModel->getFrontendLabel()),
|
84 |
+
'align' => 'left',
|
85 |
+
'index' => $attributeCode . '_original',
|
86 |
+
));
|
87 |
+
|
88 |
+
$this->addColumn($attributeCode . '_translate', array(
|
89 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('%s - Target', $attrModel->getFrontendLabel()),
|
90 |
+
'align' => 'left',
|
91 |
+
'index' => $attributeCode . '_translate',
|
92 |
+
));
|
93 |
+
}
|
94 |
+
|
95 |
+
if ($this->getStatusId() == '4') {
|
96 |
+
$this->addColumn('version', array(
|
97 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Published'),
|
98 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Version',
|
99 |
+
'align' => 'center',
|
100 |
+
'index' => false,
|
101 |
+
'filter' => false,
|
102 |
+
));
|
103 |
+
}
|
104 |
+
|
105 |
+
$this->addColumn('view_frontend', array(
|
106 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('View Frontend'),
|
107 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Frontend',
|
108 |
+
'align' => 'center',
|
109 |
+
'index' => false,
|
110 |
+
'filter' => false,
|
111 |
+
));
|
112 |
+
|
113 |
+
$this->addColumn('view_backend', array(
|
114 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('View Backend'),
|
115 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Backend',
|
116 |
+
'align' => 'center',
|
117 |
+
'index' => false,
|
118 |
+
'filter' => false,
|
119 |
+
));
|
120 |
+
|
121 |
+
return parent::_prepareColumns();
|
122 |
+
}
|
123 |
+
|
124 |
+
public function getRowUrl($row)
|
125 |
+
{
|
126 |
+
// return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
127 |
+
return '';
|
128 |
+
}
|
129 |
+
|
130 |
+
protected function _prepareMassaction()
|
131 |
+
{
|
132 |
+
if ($this->getStatusId() == '4') {
|
133 |
+
|
134 |
+
$this->setMassactionIdField('category_id');
|
135 |
+
$this->getMassactionBlock()->setFormFieldName('category');
|
136 |
+
|
137 |
+
$this->getMassactionBlock()->addItem('add', array(
|
138 |
+
'label' => Mage::helper('catalog')->__('Publish Translation'),
|
139 |
+
'url' => $this->getUrl('*/*/applyTranslation'),
|
140 |
+
'selected' => 1
|
141 |
+
));
|
142 |
+
$this->getMassactionBlock()->setTemplate('straker/job/category/massaction.phtml');
|
143 |
+
|
144 |
+
$hiddenParams = '<input type="hidden" name="job_id" value="' . $this->getRequest()->getParam('job_id') . '" />';
|
145 |
+
$this->getMassactionBlock()->setHiddenParams($hiddenParams);
|
146 |
+
|
147 |
+
|
148 |
+
Mage::dispatchEvent('adminhtml_strakertranslation_job_category_grid_prepare_massaction', array('block' => $this));
|
149 |
+
return $this;
|
150 |
+
}
|
151 |
+
}
|
152 |
+
|
153 |
+
protected function _prepareMassactionColumn()
|
154 |
+
{
|
155 |
+
if ($this->getStatusId() == '4') {
|
156 |
+
$columnId = 'massaction';
|
157 |
+
$massactionColumn = $this->getLayout()->createBlock('adminhtml/widget_grid_column')
|
158 |
+
->setData(array(
|
159 |
+
'index' => $this->getMassactionIdField(),
|
160 |
+
'use_index' => $this->getMassactionIdField(),
|
161 |
+
'filter_index' => $this->getMassactionIdFilter(),
|
162 |
+
'type' => 'massaction',
|
163 |
+
'name' => $this->getMassactionBlock()->getFormFieldName(),
|
164 |
+
'align' => 'center',
|
165 |
+
'is_system' => true
|
166 |
+
));
|
167 |
+
|
168 |
+
if ($this->getNoFilterMassactionColumn()) {
|
169 |
+
$massactionColumn->setData('filter', false);
|
170 |
+
}
|
171 |
+
|
172 |
+
$massactionColumn->setSelected($this->getMassactionBlock()->getSelected())
|
173 |
+
->setGrid($this)
|
174 |
+
->setId($columnId);
|
175 |
+
|
176 |
+
$oldColumns = $this->_columns;
|
177 |
+
$this->_columns = array();
|
178 |
+
$this->_columns[$columnId] = $massactionColumn;
|
179 |
+
$this->_columns = array_merge($this->_columns, $oldColumns);
|
180 |
+
return $this;
|
181 |
+
}
|
182 |
+
}
|
183 |
+
|
184 |
+
public function getMainButtonsHtml()
|
185 |
+
{
|
186 |
+
$html = '';
|
187 |
+
if ($this->getStatusId() == '4') {
|
188 |
+
$html .= $this->getChildHtml('dispute_button');
|
189 |
+
}
|
190 |
+
if ($this->getFilterVisibility()) {
|
191 |
+
$html .= $this->getResetFilterButtonHtml();
|
192 |
+
$html .= $this->getSearchButtonHtml();
|
193 |
+
}
|
194 |
+
return $html;
|
195 |
+
}
|
196 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Cms/Block.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Cms_Block extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
protected $_job;
|
5 |
+
|
6 |
+
public function __construct()
|
7 |
+
{
|
8 |
+
parent::__construct();
|
9 |
+
$this->setTemplate('straker/job/cms/block.phtml');
|
10 |
+
}
|
11 |
+
|
12 |
+
protected function _prepareLayout()
|
13 |
+
{
|
14 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
15 |
+
$jobStatus = $this->getJob()->getStatusId();
|
16 |
+
if ( $jobStatus == '4'){
|
17 |
+
$this->_addButton('publish', array(
|
18 |
+
'label' => Mage::helper('catalog')->__('Publish All Translations'),
|
19 |
+
'onclick' => "setLocation('{$this->getUrl('*/*/copyAll',array('job_id'=>$jobId))}');",
|
20 |
+
'class' => 'task'
|
21 |
+
));
|
22 |
+
}
|
23 |
+
|
24 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_job_cms_block_grid', 'job_cms_block.grid'));
|
25 |
+
$this->getChild('grid')->setStatusId($jobStatus);
|
26 |
+
return parent::_prepareLayout();
|
27 |
+
}
|
28 |
+
|
29 |
+
public function getGridHtml()
|
30 |
+
{
|
31 |
+
return $this->getChildHtml('grid');
|
32 |
+
}
|
33 |
+
|
34 |
+
public function getJob(){
|
35 |
+
if(!$this->_job) {
|
36 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
37 |
+
$this->_job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId);
|
38 |
+
}
|
39 |
+
return $this->_job;
|
40 |
+
}
|
41 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Cms/Block/Grid.php
ADDED
@@ -0,0 +1,141 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Cms_Block_Grid extends Mage_Adminhtml_Block_Widget_Grid {
|
4 |
+
|
5 |
+
protected $_attributes;
|
6 |
+
|
7 |
+
public function __construct() {
|
8 |
+
parent::__construct();
|
9 |
+
$this->setId('strakerJobCmsBlockGrid');
|
10 |
+
$this->setSaveParametersInSession(true);
|
11 |
+
}
|
12 |
+
|
13 |
+
protected function _prepareLayout()
|
14 |
+
{
|
15 |
+
$this->setChild('dispute_button',
|
16 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
17 |
+
->setData(array(
|
18 |
+
'label' => Mage::helper('catalog')->__('Feedback'),
|
19 |
+
'onclick' => 'disputeForm.show(\''.$this->getRequest()->getParam('job_id').'\')',
|
20 |
+
'class' => 'feedback'
|
21 |
+
))
|
22 |
+
);
|
23 |
+
|
24 |
+
return parent::_prepareLayout();
|
25 |
+
}
|
26 |
+
|
27 |
+
protected function _prepareCollection() {
|
28 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
29 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
30 |
+
|
31 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/job_cms_block')->getCollection()
|
32 |
+
->addFieldToFilter('main_table.job_id', $job->getId());
|
33 |
+
|
34 |
+
//echo $collection->getSelect(); die();
|
35 |
+
$this->setCollection($collection);
|
36 |
+
return parent::_prepareCollection();
|
37 |
+
}
|
38 |
+
|
39 |
+
protected function _prepareColumns() {
|
40 |
+
$this->addColumn('title', array(
|
41 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Title'),
|
42 |
+
'align' => 'center',
|
43 |
+
'index' => 'origin',
|
44 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_CmsOriginTitle',
|
45 |
+
'sortable' => false,
|
46 |
+
'filter' => false,
|
47 |
+
));
|
48 |
+
|
49 |
+
if ($this->getStatusId() == '4' || $this->getStatusId() == '5'){
|
50 |
+
$this->addColumn('version', array(
|
51 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Published'),
|
52 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_CmsVersion',
|
53 |
+
'align' => 'center',
|
54 |
+
'index' => false,
|
55 |
+
'filter' => false,
|
56 |
+
));
|
57 |
+
}
|
58 |
+
|
59 |
+
return parent::_prepareColumns();
|
60 |
+
}
|
61 |
+
|
62 |
+
public function getRowUrl($row) {
|
63 |
+
// return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
64 |
+
return '';
|
65 |
+
}
|
66 |
+
|
67 |
+
protected function _prepareMassaction()
|
68 |
+
{
|
69 |
+
if ($this->getStatusId() == '4') {
|
70 |
+
|
71 |
+
$this->setMassactionIdField('block_id');
|
72 |
+
$this->getMassactionBlock()->setFormFieldName('block_id');
|
73 |
+
|
74 |
+
$this->getMassactionBlock()->addItem('add', array(
|
75 |
+
'label' => Mage::helper('catalog')->__('Publish Translation'),
|
76 |
+
'url' => $this->getUrl('*/*/applyTranslation'),
|
77 |
+
'selected' => 1
|
78 |
+
));
|
79 |
+
|
80 |
+
$this->getMassactionBlock()->setTemplate('straker/job/cms/page/massaction.phtml');
|
81 |
+
|
82 |
+
$hiddenParams = '<input type="hidden" name="job_id" value="' . $this->getRequest()->getParam('job_id') . '" />';
|
83 |
+
$this->getMassactionBlock()->setHiddenParams($hiddenParams);
|
84 |
+
|
85 |
+
|
86 |
+
// Mage::dispatchEvent('adminhtml_strakertranslation_job_product_grid_prepare_massaction', array('block' => $this));
|
87 |
+
return $this;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
protected function _prepareMassactionColumn()
|
92 |
+
{
|
93 |
+
if ($this->getStatusId() == '4') {
|
94 |
+
$columnId = 'massaction';
|
95 |
+
$massactionColumn = $this->getLayout()->createBlock('adminhtml/widget_grid_column')
|
96 |
+
->setData(array(
|
97 |
+
'index' => $this->getMassactionIdField(),
|
98 |
+
'use_index' => $this->getMassactionIdField(),
|
99 |
+
'filter_index' => $this->getMassactionIdFilter(),
|
100 |
+
'type' => 'massaction',
|
101 |
+
'name' => $this->getMassactionBlock()->getFormFieldName(),
|
102 |
+
'align' => 'center',
|
103 |
+
'is_system' => true
|
104 |
+
));
|
105 |
+
|
106 |
+
if ($this->getNoFilterMassactionColumn()) {
|
107 |
+
$massactionColumn->setData('filter', false);
|
108 |
+
}
|
109 |
+
|
110 |
+
$massactionColumn->setSelected($this->getMassactionBlock()->getSelected())
|
111 |
+
->setGrid($this)
|
112 |
+
->setId($columnId);
|
113 |
+
|
114 |
+
$oldColumns = $this->_columns;
|
115 |
+
$this->_columns = array();
|
116 |
+
$this->_columns[$columnId] = $massactionColumn;
|
117 |
+
$this->_columns = array_merge($this->_columns, $oldColumns);
|
118 |
+
return $this;
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
public function getMainButtonsHtml()
|
123 |
+
{
|
124 |
+
$html = '';
|
125 |
+
if ($this->getStatusId() == '4') {
|
126 |
+
$html .= $this->getChildHtml('dispute_button');
|
127 |
+
}
|
128 |
+
if($this->getFilterVisibility()){
|
129 |
+
$html.= $this->getResetFilterButtonHtml();
|
130 |
+
$html.= $this->getSearchButtonHtml();
|
131 |
+
}
|
132 |
+
return $html;
|
133 |
+
}
|
134 |
+
|
135 |
+
protected function getAttributes(){
|
136 |
+
if(!$this->_attributes){
|
137 |
+
$this->_attributes = Mage::getModel('strakertranslations_easytranslationplatform/cms_block_attributes')->getCollection()->addFieldToFilter('job_id',$this->getRequest()->getParam('job_id'));
|
138 |
+
}
|
139 |
+
return $this->_attributes;
|
140 |
+
}
|
141 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Cms/Page.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Cms_Page extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
protected $_job;
|
5 |
+
|
6 |
+
public function __construct()
|
7 |
+
{
|
8 |
+
parent::__construct();
|
9 |
+
$this->setTemplate('straker/job/cms/page.phtml');
|
10 |
+
}
|
11 |
+
|
12 |
+
protected function _prepareLayout()
|
13 |
+
{
|
14 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
15 |
+
$jobStatus = $this->getJob()->getStatusId();
|
16 |
+
if ( $jobStatus == '4'){
|
17 |
+
$this->_addButton('publish', array(
|
18 |
+
'label' => Mage::helper('catalog')->__('Publish All Translations'),
|
19 |
+
'onclick' => "setLocation('{$this->getUrl('*/*/copyAll',array('job_id'=>$jobId))}');",
|
20 |
+
'class' => 'task'
|
21 |
+
));
|
22 |
+
}
|
23 |
+
|
24 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_job_cms_page_grid', 'job_cms_page.grid'));
|
25 |
+
$this->getChild('grid')->setStatusId($jobStatus);
|
26 |
+
return parent::_prepareLayout();
|
27 |
+
}
|
28 |
+
|
29 |
+
public function getGridHtml()
|
30 |
+
{
|
31 |
+
return $this->getChildHtml('grid');
|
32 |
+
}
|
33 |
+
|
34 |
+
public function getJob(){
|
35 |
+
if(!$this->_job) {
|
36 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
37 |
+
$this->_job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId);
|
38 |
+
}
|
39 |
+
return $this->_job;
|
40 |
+
}
|
41 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Cms/Page/Grid.php
ADDED
@@ -0,0 +1,141 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Cms_Page_Grid extends Mage_Adminhtml_Block_Widget_Grid {
|
4 |
+
|
5 |
+
protected $_attributes;
|
6 |
+
|
7 |
+
public function __construct() {
|
8 |
+
parent::__construct();
|
9 |
+
$this->setId('strakerJobCmsPageGrid');
|
10 |
+
$this->setSaveParametersInSession(true);
|
11 |
+
}
|
12 |
+
|
13 |
+
protected function _prepareLayout()
|
14 |
+
{
|
15 |
+
$this->setChild('dispute_button',
|
16 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
17 |
+
->setData(array(
|
18 |
+
'label' => Mage::helper('catalog')->__('Feedback'),
|
19 |
+
'onclick' => 'disputeForm.show(\''.$this->getRequest()->getParam('job_id').'\')',
|
20 |
+
'class' => 'feedback'
|
21 |
+
))
|
22 |
+
);
|
23 |
+
|
24 |
+
return parent::_prepareLayout();
|
25 |
+
}
|
26 |
+
|
27 |
+
protected function _prepareCollection() {
|
28 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
29 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
30 |
+
|
31 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/job_cms_page')->getCollection()
|
32 |
+
->addFieldToFilter('main_table.job_id', $job->getId());
|
33 |
+
|
34 |
+
$this->setCollection($collection);
|
35 |
+
return parent::_prepareCollection();
|
36 |
+
}
|
37 |
+
|
38 |
+
protected function _prepareColumns() {
|
39 |
+
|
40 |
+
$this->addColumn('title', array(
|
41 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Title'),
|
42 |
+
'align' => 'center',
|
43 |
+
'index' => 'origin',
|
44 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_CmsOriginTitle',
|
45 |
+
'sortable' => false,
|
46 |
+
'filter' => false,
|
47 |
+
));
|
48 |
+
|
49 |
+
if ($this->getStatusId() == '4' || $this->getStatusId() == '5'){
|
50 |
+
$this->addColumn('version', array(
|
51 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Published'),
|
52 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_CmsVersion',
|
53 |
+
'align' => 'center',
|
54 |
+
'index' => false,
|
55 |
+
'filter' => false,
|
56 |
+
));
|
57 |
+
}
|
58 |
+
|
59 |
+
return parent::_prepareColumns();
|
60 |
+
}
|
61 |
+
|
62 |
+
public function getRowUrl($row) {
|
63 |
+
// return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
64 |
+
return '';
|
65 |
+
}
|
66 |
+
|
67 |
+
protected function _prepareMassaction()
|
68 |
+
{
|
69 |
+
if ($this->getStatusId() == '4') {
|
70 |
+
|
71 |
+
$this->setMassactionIdField('page_id');
|
72 |
+
$this->getMassactionBlock()->setFormFieldName('page_id');
|
73 |
+
|
74 |
+
$this->getMassactionBlock()->addItem('add', array(
|
75 |
+
'label' => Mage::helper('catalog')->__('Publish Translation'),
|
76 |
+
'url' => $this->getUrl('*/*/applyTranslation'),
|
77 |
+
'selected' => 1
|
78 |
+
));
|
79 |
+
|
80 |
+
$this->getMassactionBlock()->setTemplate('straker/job/cms/page/massaction.phtml');
|
81 |
+
|
82 |
+
$hiddenParams = '<input type="hidden" name="job_id" value="' . $this->getRequest()->getParam('job_id') . '" />';
|
83 |
+
$this->getMassactionBlock()->setHiddenParams($hiddenParams);
|
84 |
+
|
85 |
+
|
86 |
+
// Mage::dispatchEvent('adminhtml_strakertranslation_job_product_grid_prepare_massaction', array('block' => $this));
|
87 |
+
return $this;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
protected function _prepareMassactionColumn()
|
92 |
+
{
|
93 |
+
if ($this->getStatusId() == '4') {
|
94 |
+
$columnId = 'massaction';
|
95 |
+
$massactionColumn = $this->getLayout()->createBlock('adminhtml/widget_grid_column')
|
96 |
+
->setData(array(
|
97 |
+
'index' => $this->getMassactionIdField(),
|
98 |
+
'use_index' => $this->getMassactionIdField(),
|
99 |
+
'filter_index' => $this->getMassactionIdFilter(),
|
100 |
+
'type' => 'massaction',
|
101 |
+
'name' => $this->getMassactionBlock()->getFormFieldName(),
|
102 |
+
'align' => 'center',
|
103 |
+
'is_system' => true
|
104 |
+
));
|
105 |
+
|
106 |
+
if ($this->getNoFilterMassactionColumn()) {
|
107 |
+
$massactionColumn->setData('filter', false);
|
108 |
+
}
|
109 |
+
|
110 |
+
$massactionColumn->setSelected($this->getMassactionBlock()->getSelected())
|
111 |
+
->setGrid($this)
|
112 |
+
->setId($columnId);
|
113 |
+
|
114 |
+
$oldColumns = $this->_columns;
|
115 |
+
$this->_columns = array();
|
116 |
+
$this->_columns[$columnId] = $massactionColumn;
|
117 |
+
$this->_columns = array_merge($this->_columns, $oldColumns);
|
118 |
+
return $this;
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
public function getMainButtonsHtml()
|
123 |
+
{
|
124 |
+
$html = '';
|
125 |
+
if ($this->getStatusId() == '4') {
|
126 |
+
$html .= $this->getChildHtml('dispute_button');
|
127 |
+
}
|
128 |
+
if($this->getFilterVisibility()){
|
129 |
+
$html.= $this->getResetFilterButtonHtml();
|
130 |
+
$html.= $this->getSearchButtonHtml();
|
131 |
+
}
|
132 |
+
return $html;
|
133 |
+
}
|
134 |
+
|
135 |
+
protected function getAttributes(){
|
136 |
+
if(!$this->_attributes){
|
137 |
+
$this->_attributes = Mage::getModel('strakertranslations_easytranslationplatform/cms_page_attributes')->getCollection()->addFieldToFilter('job_id',$this->getRequest()->getParam('job_id'));
|
138 |
+
}
|
139 |
+
return $this->_attributes;
|
140 |
+
}
|
141 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Grid.php
ADDED
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Grid extends Mage_Adminhtml_Block_Widget_Grid {
|
4 |
+
|
5 |
+
public function __construct() {
|
6 |
+
parent::__construct();
|
7 |
+
$this->setId('strakerJobGrid');
|
8 |
+
$this->setDefaultSort('id');
|
9 |
+
$this->setDefaultDir('DESC');
|
10 |
+
$this->setSaveParametersInSession(true);
|
11 |
+
}
|
12 |
+
|
13 |
+
protected function _prepareCollection() {
|
14 |
+
/** @var $collection StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Collection*/
|
15 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/job')->getCollection();
|
16 |
+
|
17 |
+
foreach($collection as $jobModel){
|
18 |
+
if($jobModel->getStatusId() == 4){
|
19 |
+
$jobModel->load($jobModel->getId())->isPublished();
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/job')->getCollection();
|
24 |
+
|
25 |
+
/** @var $helper StrakerTranslations_EasyTranslationPlatform_Helper_Data */
|
26 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
27 |
+
if($helper->isSandboxMode()){
|
28 |
+
$collection->addFieldToFilter('is_test_job', ['eq' => true]);
|
29 |
+
}else{
|
30 |
+
$collection->addFieldToFilter('is_test_job', ['eq' => false]);
|
31 |
+
}
|
32 |
+
|
33 |
+
$collection->getSelect()->joinLeft(
|
34 |
+
Mage::getSingleton('core/resource')->getTableName('strakertranslations_easytranslationplatform/job_type'),
|
35 |
+
Mage::getSingleton('core/resource')->getTableName('strakertranslations_easytranslationplatform/job_type').'.type_id = main_table.type_id',
|
36 |
+
'type_name'
|
37 |
+
);
|
38 |
+
$collection->getSelect()->joinLeft(
|
39 |
+
Mage::getSingleton('core/resource')->getTableName('strakertranslations_easytranslationplatform/job_status'),
|
40 |
+
Mage::getSingleton('core/resource')->getTableName('strakertranslations_easytranslationplatform/job_status').'.status_id = main_table.status_id',
|
41 |
+
'status_name'
|
42 |
+
);
|
43 |
+
$collection->getSelect()->joinLeft(
|
44 |
+
Mage::getSingleton('core/resource')->getTableName('core/store'),
|
45 |
+
Mage::getSingleton('core/resource')->getTableName('core/store').'.store_id = main_table.store_id',
|
46 |
+
'name'
|
47 |
+
);
|
48 |
+
$this->setCollection($collection);
|
49 |
+
return parent::_prepareCollection();
|
50 |
+
}
|
51 |
+
|
52 |
+
protected function _prepareColumns() {
|
53 |
+
$this->addColumn('id', array(
|
54 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('ID'),
|
55 |
+
'align' => 'right',
|
56 |
+
'width' => '50px',
|
57 |
+
'index' => 'id',
|
58 |
+
));
|
59 |
+
|
60 |
+
$this->addColumn('tj_number', array(
|
61 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Straker Ref.'),
|
62 |
+
'align' => 'left',
|
63 |
+
'index' => 'tj_number',
|
64 |
+
));
|
65 |
+
|
66 |
+
$this->addColumn('created_at', array(
|
67 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Created At'),
|
68 |
+
'align' => 'left',
|
69 |
+
'type' => 'datetime',
|
70 |
+
'index' => 'created_at',
|
71 |
+
));
|
72 |
+
|
73 |
+
$this->addColumn('updated_at', array(
|
74 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Updated At'),
|
75 |
+
'align' => 'left',
|
76 |
+
'type' => 'datetime',
|
77 |
+
'index' => 'updated_at',
|
78 |
+
));
|
79 |
+
|
80 |
+
$this->addColumn('type_name', array(
|
81 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Content Type'),
|
82 |
+
'align' => 'left',
|
83 |
+
'index' => 'type_name',
|
84 |
+
));
|
85 |
+
|
86 |
+
$this->addColumn('selected', array(
|
87 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Content Selected'),
|
88 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Selected',
|
89 |
+
'align' => 'center',
|
90 |
+
'filter' => false,
|
91 |
+
));
|
92 |
+
|
93 |
+
$this->addColumn('name', array(
|
94 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Store View'),
|
95 |
+
'align' => 'left',
|
96 |
+
'index' => 'name',
|
97 |
+
'filter_index' => Mage::getSingleton('core/resource')->getTableName('core/store').'.name',
|
98 |
+
));
|
99 |
+
|
100 |
+
$this->addColumn('sl', array(
|
101 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Source Language'),
|
102 |
+
'align' => 'left',
|
103 |
+
'index' => 'sl',
|
104 |
+
));
|
105 |
+
|
106 |
+
$this->addColumn('tl', array(
|
107 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Target Language'),
|
108 |
+
'align' => 'left',
|
109 |
+
'index' => 'tl',
|
110 |
+
));
|
111 |
+
|
112 |
+
$this->addColumn('refresh', array(
|
113 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Refresh'),
|
114 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Refresh',
|
115 |
+
'align' => 'center',
|
116 |
+
'filter' => false,
|
117 |
+
));
|
118 |
+
|
119 |
+
$this->addColumn('status', array(
|
120 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Status'),
|
121 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Status',
|
122 |
+
'align' => 'center',
|
123 |
+
'filter' => false,
|
124 |
+
));
|
125 |
+
|
126 |
+
$this->addColumn('action', array(
|
127 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Action'),
|
128 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Action',
|
129 |
+
'align' => 'center',
|
130 |
+
'filter' => false,
|
131 |
+
));
|
132 |
+
|
133 |
+
return parent::_prepareColumns();
|
134 |
+
}
|
135 |
+
|
136 |
+
public function getRowUrl($row) {
|
137 |
+
return '';
|
138 |
+
}
|
139 |
+
|
140 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Product.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Product extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
protected $_job;
|
5 |
+
|
6 |
+
public function __construct()
|
7 |
+
{
|
8 |
+
parent::__construct();
|
9 |
+
$this->setTemplate('straker/job/product.phtml');
|
10 |
+
}
|
11 |
+
|
12 |
+
protected function _prepareLayout()
|
13 |
+
{
|
14 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
15 |
+
$jobStatus = $this->getJob()->getStatusId();
|
16 |
+
if ( $jobStatus == '4'){
|
17 |
+
$this->_addButton('publish', array(
|
18 |
+
'label' => Mage::helper('catalog')->__('Publish All Translations'),
|
19 |
+
'onclick' => "setLocation('{$this->getUrl('*/*/copyAll',array('job_id'=>$jobId))}');",
|
20 |
+
'class' => 'task'
|
21 |
+
));
|
22 |
+
}
|
23 |
+
|
24 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_job_product_grid', 'job_product.grid'));
|
25 |
+
$this->getChild('grid')->setStatusId($jobStatus);
|
26 |
+
return parent::_prepareLayout();
|
27 |
+
}
|
28 |
+
|
29 |
+
public function getGridHtml()
|
30 |
+
{
|
31 |
+
return $this->getChildHtml('grid');
|
32 |
+
}
|
33 |
+
|
34 |
+
public function getJob(){
|
35 |
+
if(!$this->_job) {
|
36 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
37 |
+
$this->_job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId);
|
38 |
+
}
|
39 |
+
return $this->_job;
|
40 |
+
}
|
41 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Job/Product/Grid.php
ADDED
@@ -0,0 +1,196 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Job_Product_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
4 |
+
{
|
5 |
+
|
6 |
+
public function __construct()
|
7 |
+
{
|
8 |
+
parent::__construct();
|
9 |
+
$this->setId('strakerJobProductGrid');
|
10 |
+
$this->setSaveParametersInSession(true);
|
11 |
+
}
|
12 |
+
|
13 |
+
protected function _prepareLayout()
|
14 |
+
{
|
15 |
+
$this->setChild('dispute_button',
|
16 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
17 |
+
->setData(array(
|
18 |
+
'label' => Mage::helper('catalog')->__('Feedback'),
|
19 |
+
'onclick' => 'disputeForm.show(\'' . $this->getRequest()->getParam('job_id') . '\')',
|
20 |
+
'class' => 'feedback'
|
21 |
+
))
|
22 |
+
);
|
23 |
+
|
24 |
+
$this->setChild('grid', $this->getLayout()->createBlock('adminhtml/catalog_product_grid', 'product.grid'));
|
25 |
+
return parent::_prepareLayout();
|
26 |
+
}
|
27 |
+
|
28 |
+
protected function _prepareCollection()
|
29 |
+
{
|
30 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
31 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
32 |
+
$jobAttributes = Mage::getModel('strakertranslations_easytranslationplatform/product_attributes')->getCollection()->addFieldToFilter('job_id', $job->getId());
|
33 |
+
|
34 |
+
/** @var StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Product_Collection $collection */
|
35 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/job_product')->getCollection()->addFieldToFilter('main_table.job_id', $job->getId());
|
36 |
+
|
37 |
+
//loop through this job's attributes and join them to the collection
|
38 |
+
foreach ($jobAttributes as $jobAttribute) {
|
39 |
+
$attributeCode = Mage::getModel('eav/entity_attribute')->load($jobAttribute->getAttributeId())->getAttributeCode();
|
40 |
+
$collection->getSelect()->joinLeft(
|
41 |
+
array($attributeCode => $collection->getTable('strakertranslations_easytranslationplatform/product_translate')),
|
42 |
+
$attributeCode . '.product_id = main_table.product_id
|
43 |
+
AND ' . $attributeCode . '.attribute_id = ' . $jobAttribute->getAttributeId() . '
|
44 |
+
AND ' . $attributeCode . '.job_id = ' . $job->getId(),
|
45 |
+
array($attributeCode . '_original' => 'original', $attributeCode . '_translate' => 'translate')
|
46 |
+
);
|
47 |
+
}
|
48 |
+
//echo $collection->getSelect()->__toString();
|
49 |
+
//die();
|
50 |
+
$this->setCollection($collection);
|
51 |
+
return parent::_prepareCollection();
|
52 |
+
}
|
53 |
+
|
54 |
+
protected function _prepareColumns()
|
55 |
+
{
|
56 |
+
$this->addColumn('id', array(
|
57 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('ID'),
|
58 |
+
'align' => 'right',
|
59 |
+
'width' => '50px',
|
60 |
+
'index' => 'id',
|
61 |
+
));
|
62 |
+
|
63 |
+
$this->addColumn('product_id', array(
|
64 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Product ID'),
|
65 |
+
'align' => 'left',
|
66 |
+
'index' => 'product_id',
|
67 |
+
));
|
68 |
+
|
69 |
+
// $this->addColumn('job_id', array(
|
70 |
+
// 'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Job ID'),
|
71 |
+
// 'align' => 'left',
|
72 |
+
// 'index' => 'job_id',
|
73 |
+
// ));
|
74 |
+
|
75 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
76 |
+
$jobAttributes = Mage::getModel('strakertranslations_easytranslationplatform/product_attributes')->getCollection()->addFieldToFilter('job_id', $job->getId());
|
77 |
+
|
78 |
+
//loop through this job's attributes and add columns to the grid
|
79 |
+
foreach ($jobAttributes as $jobAttribute) {
|
80 |
+
$attributeCode = Mage::getModel('eav/entity_attribute')->load($jobAttribute->getAttributeId())->getAttributeCode();
|
81 |
+
$attrModel = Mage::getModel('eav/entity_attribute')->loadByCode(4, $attributeCode);
|
82 |
+
$this->addColumn($attributeCode . '_original', array(
|
83 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('%s - Source', $attrModel->getFrontendLabel()),
|
84 |
+
'align' => 'left',
|
85 |
+
'index' => $attributeCode . '_original',
|
86 |
+
));
|
87 |
+
|
88 |
+
$this->addColumn($attributeCode . '_translate', array(
|
89 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('%s - Target', $attrModel->getFrontendLabel()),
|
90 |
+
'align' => 'left',
|
91 |
+
'index' => $attributeCode . '_translate',
|
92 |
+
));
|
93 |
+
}
|
94 |
+
|
95 |
+
if ($this->getStatusId() == '4') {
|
96 |
+
$this->addColumn('version', array(
|
97 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('Published'),
|
98 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Version',
|
99 |
+
'align' => 'center',
|
100 |
+
'index' => false,
|
101 |
+
'filter' => false,
|
102 |
+
));
|
103 |
+
}
|
104 |
+
|
105 |
+
$this->addColumn('view_frontend', array(
|
106 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('View Frontend'),
|
107 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Frontend',
|
108 |
+
'align' => 'center',
|
109 |
+
'index' => false,
|
110 |
+
'filter' => false,
|
111 |
+
));
|
112 |
+
|
113 |
+
$this->addColumn('view_backend', array(
|
114 |
+
'header' => Mage::helper('strakertranslations_easytranslationplatform')->__('View Backend'),
|
115 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Backend',
|
116 |
+
'align' => 'center',
|
117 |
+
'index' => false,
|
118 |
+
'filter' => false,
|
119 |
+
));
|
120 |
+
|
121 |
+
return parent::_prepareColumns();
|
122 |
+
}
|
123 |
+
|
124 |
+
public function getRowUrl($row)
|
125 |
+
{
|
126 |
+
// return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
127 |
+
return '';
|
128 |
+
}
|
129 |
+
|
130 |
+
protected function _prepareMassaction()
|
131 |
+
{
|
132 |
+
if ($this->getStatusId() == '4') {
|
133 |
+
|
134 |
+
$this->setMassactionIdField('product_id');
|
135 |
+
$this->getMassactionBlock()->setFormFieldName('product');
|
136 |
+
|
137 |
+
$this->getMassactionBlock()->addItem('add', array(
|
138 |
+
'label' => Mage::helper('catalog')->__('Publish Translation'),
|
139 |
+
'url' => $this->getUrl('*/*/applyTranslation'),
|
140 |
+
'selected' => 1
|
141 |
+
));
|
142 |
+
$this->getMassactionBlock()->setTemplate('straker/job/product/massaction.phtml');
|
143 |
+
|
144 |
+
$hiddenParams = '<input type="hidden" name="job_id" value="' . $this->getRequest()->getParam('job_id') . '" />';
|
145 |
+
$this->getMassactionBlock()->setHiddenParams($hiddenParams);
|
146 |
+
|
147 |
+
|
148 |
+
// Mage::dispatchEvent('adminhtml_strakertranslation_job_product_grid_prepare_massaction', array('block' => $this));
|
149 |
+
return $this;
|
150 |
+
}
|
151 |
+
}
|
152 |
+
|
153 |
+
protected function _prepareMassactionColumn()
|
154 |
+
{
|
155 |
+
if ($this->getStatusId() == '4') {
|
156 |
+
$columnId = 'massaction';
|
157 |
+
$massactionColumn = $this->getLayout()->createBlock('adminhtml/widget_grid_column')
|
158 |
+
->setData(array(
|
159 |
+
'index' => $this->getMassactionIdField(),
|
160 |
+
'use_index' => $this->getMassactionIdField(),
|
161 |
+
'filter_index' => $this->getMassactionIdFilter(),
|
162 |
+
'type' => 'massaction',
|
163 |
+
'name' => $this->getMassactionBlock()->getFormFieldName(),
|
164 |
+
'align' => 'center',
|
165 |
+
'is_system' => true
|
166 |
+
));
|
167 |
+
|
168 |
+
if ($this->getNoFilterMassactionColumn()) {
|
169 |
+
$massactionColumn->setData('filter', false);
|
170 |
+
}
|
171 |
+
|
172 |
+
$massactionColumn->setSelected($this->getMassactionBlock()->getSelected())
|
173 |
+
->setGrid($this)
|
174 |
+
->setId($columnId);
|
175 |
+
|
176 |
+
$oldColumns = $this->_columns;
|
177 |
+
$this->_columns = array();
|
178 |
+
$this->_columns[$columnId] = $massactionColumn;
|
179 |
+
$this->_columns = array_merge($this->_columns, $oldColumns);
|
180 |
+
return $this;
|
181 |
+
}
|
182 |
+
}
|
183 |
+
|
184 |
+
public function getMainButtonsHtml()
|
185 |
+
{
|
186 |
+
$html = '';
|
187 |
+
if ($this->getStatusId() == '4') {
|
188 |
+
$html .= $this->getChildHtml('dispute_button');
|
189 |
+
}
|
190 |
+
if ($this->getFilterVisibility()) {
|
191 |
+
$html .= $this->getResetFilterButtonHtml();
|
192 |
+
$html .= $this->getSearchButtonHtml();
|
193 |
+
}
|
194 |
+
return $html;
|
195 |
+
}
|
196 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Attribute.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Attribute extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
public function __construct()
|
8 |
+
{
|
9 |
+
parent::__construct();
|
10 |
+
$this->setTemplate('straker/new/attribute.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
protected function _prepareLayout()
|
14 |
+
{
|
15 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_attribute_grid', 'attribute.grid', array('setup_store_id' => $this->getSetupStoreId() )));
|
16 |
+
return parent::_prepareLayout();
|
17 |
+
}
|
18 |
+
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Render grid
|
22 |
+
*
|
23 |
+
* @return string
|
24 |
+
*/
|
25 |
+
public function getGridHtml()
|
26 |
+
{
|
27 |
+
return $this->getChildHtml('grid');
|
28 |
+
}
|
29 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Attribute/Confirm.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Attribute_Confirm extends Mage_Adminhtml_Block_Widget_Container
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
public function __construct()
|
8 |
+
{
|
9 |
+
parent::__construct();
|
10 |
+
$this->setTemplate('straker/new/attribute/confirm.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Prepare button and grid
|
15 |
+
*
|
16 |
+
* @return Mage_Adminhtml_Block_Catalog_Product
|
17 |
+
*/
|
18 |
+
protected function _prepareLayout()
|
19 |
+
{
|
20 |
+
$this->_addButton('submit', array(
|
21 |
+
'label' => Mage::helper('catalog')->__('Submit'),
|
22 |
+
'onclick' => "$('submit-new-job-form').submit();",
|
23 |
+
'class' => 'task'
|
24 |
+
));
|
25 |
+
|
26 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_attribute_confirm_grid', 'product.grid', array('store' => $this->getStore(), 'attribute' => $this->getAttribute(), 'option' => $this->getOption())));
|
27 |
+
return parent::_prepareLayout();
|
28 |
+
}
|
29 |
+
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Render grid
|
33 |
+
*
|
34 |
+
* @return string
|
35 |
+
*/
|
36 |
+
public function getGridHtml()
|
37 |
+
{
|
38 |
+
return $this->getChildHtml('grid');
|
39 |
+
}
|
40 |
+
|
41 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Attribute/Confirm/Grid.php
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Attribute_Confirm_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
$this->setId('strakerAttribute');
|
9 |
+
$this->setDefaultSort('attribute_code');
|
10 |
+
$this->setDefaultDir('ASC');
|
11 |
+
$this->setSaveParametersInSession(true);
|
12 |
+
$this->setUseAjax(false);
|
13 |
+
}
|
14 |
+
|
15 |
+
protected function _prepareLayout()
|
16 |
+
{
|
17 |
+
return $this;
|
18 |
+
}
|
19 |
+
|
20 |
+
protected function _prepareColumns()
|
21 |
+
{
|
22 |
+
parent::_prepareColumns();
|
23 |
+
|
24 |
+
|
25 |
+
$this->addColumn('attribute_code', array(
|
26 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Attribute Code'),
|
27 |
+
'sortable'=>true,
|
28 |
+
'filter' => false,
|
29 |
+
'index'=>'attribute_code'
|
30 |
+
));
|
31 |
+
|
32 |
+
$this->addColumn('frontend_label', array(
|
33 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Attribute Label'),
|
34 |
+
'sortable'=>true,
|
35 |
+
'filter' => false,
|
36 |
+
'index'=>'frontend_label'
|
37 |
+
));
|
38 |
+
|
39 |
+
$this->addColumn('translate_label', array(
|
40 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Translate Attribute Label'),
|
41 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_ConfirmTranslateLabel',
|
42 |
+
'align' => 'center',
|
43 |
+
'index' => false,
|
44 |
+
'sortable'=> false,
|
45 |
+
'filter' => false,
|
46 |
+
));
|
47 |
+
|
48 |
+
$this->addColumn('translate_options', array(
|
49 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Translate Attribute Options'),
|
50 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_ConfirmTranslateOptions',
|
51 |
+
'align' => 'center',
|
52 |
+
'index' => false,
|
53 |
+
'sortable'=> false,
|
54 |
+
'filter' => false,
|
55 |
+
));
|
56 |
+
|
57 |
+
$this->addColumn('is_visible', array(
|
58 |
+
'header'=>Mage::helper('catalog')->__('Visible'),
|
59 |
+
'sortable'=>true,
|
60 |
+
'index'=>'is_visible_on_front',
|
61 |
+
'type' => 'options',
|
62 |
+
'filter' => false,
|
63 |
+
'options' => array(
|
64 |
+
'1' => Mage::helper('catalog')->__('Yes'),
|
65 |
+
'0' => Mage::helper('catalog')->__('No'),
|
66 |
+
),
|
67 |
+
'align' => 'center',
|
68 |
+
));
|
69 |
+
|
70 |
+
return $this;
|
71 |
+
}
|
72 |
+
|
73 |
+
protected function _prepareCollection()
|
74 |
+
{
|
75 |
+
if ($this->getOption()) {
|
76 |
+
$attributeIds = array_unique(
|
77 |
+
array_merge(
|
78 |
+
$this->getAttribute(),
|
79 |
+
explode(',', $this->getOption())
|
80 |
+
)
|
81 |
+
);
|
82 |
+
}
|
83 |
+
else {
|
84 |
+
$attributeIds = $this->getAttribute();
|
85 |
+
}
|
86 |
+
$collection = Mage::getResourceModel('catalog/product_attribute_collection')
|
87 |
+
->addFieldToFilter('main_table.attribute_id', $attributeIds)
|
88 |
+
->addVisibleFilter();
|
89 |
+
$this->setCollection($collection);
|
90 |
+
|
91 |
+
return parent::_prepareCollection();
|
92 |
+
}
|
93 |
+
|
94 |
+
public function getGridUrl()
|
95 |
+
{
|
96 |
+
return $this->getUrl('*/*/addtoconfirm', array('_current'=>true));
|
97 |
+
}
|
98 |
+
|
99 |
+
public function getRowUrl($row)
|
100 |
+
{
|
101 |
+
return '';
|
102 |
+
}
|
103 |
+
|
104 |
+
public function getAttrArray(){
|
105 |
+
return explode(',', $this->getAttr());
|
106 |
+
}
|
107 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Attribute/Grid.php
ADDED
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Attribute_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
public function __construct()
|
5 |
+
{
|
6 |
+
parent::__construct();
|
7 |
+
$this->setId('attributeGrid');
|
8 |
+
$this->setDefaultSort('attribute_code');
|
9 |
+
$this->setDefaultDir('ASC');
|
10 |
+
}
|
11 |
+
|
12 |
+
protected function _getStore()
|
13 |
+
{
|
14 |
+
$storeId = (int) $this->getRequest()->getParam('store', 0);
|
15 |
+
return Mage::app()->getStore($storeId);
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Prepare product attributes grid collection object
|
20 |
+
*
|
21 |
+
* @return Mage_Adminhtml_Block_Catalog_Product_Attribute_Grid
|
22 |
+
*/
|
23 |
+
protected function _prepareCollection()
|
24 |
+
{
|
25 |
+
/** @var \Mage_Catalog_Model_Resource_Product_Attribute_Collection $collection */
|
26 |
+
$collection = Mage::getResourceModel('catalog/product_attribute_collection')
|
27 |
+
->addVisibleFilter();
|
28 |
+
|
29 |
+
$store = $this->_getStore();
|
30 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
31 |
+
// $jobAttributeQuery = 'select a.`version`, a.`attribute_id` from `'.$prefix.'straker_job_attribute` as a
|
32 |
+
// left join `'.$prefix.'straker_job` as b on a.`job_id`=b.`id`
|
33 |
+
// where b.`store_id` ='.$store->getId().' and a.`version` =1
|
34 |
+
// GROUP BY a.`attribute_id`';
|
35 |
+
//
|
36 |
+
// //join straker job product table to get version for each product
|
37 |
+
// $collection->getSelect()->joinLeft(
|
38 |
+
//
|
39 |
+
// new Zend_Db_Expr('('.$jobAttributeQuery.')'),
|
40 |
+
// 'main_table.attribute_id = t.attribute_id',
|
41 |
+
// array('version')
|
42 |
+
//
|
43 |
+
// );
|
44 |
+
/** @var StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Attribute_Collection $strakerJobProductCollection */
|
45 |
+
$strakerJobAttributeCollection = Mage::getModel('strakertranslations_easytranslationplatform/job_attribute')->getCollection();
|
46 |
+
$strakerJobAttributeCollection->getSelect()
|
47 |
+
->reset(Zend_Db_Select::COLUMNS)
|
48 |
+
->joinLeft(
|
49 |
+
['b' => $strakerJobAttributeCollection->getTable('strakertranslations_easytranslationplatform/job')],
|
50 |
+
'`main_table`.`job_id` = `b`.`id`',
|
51 |
+
[]
|
52 |
+
)->where(
|
53 |
+
'`b`.`store_id` = ?', $store->getId()
|
54 |
+
)->where(
|
55 |
+
'`main_table`.`version` = ?', 1
|
56 |
+
)->group(
|
57 |
+
'main_table.attribute_id'
|
58 |
+
)->columns(
|
59 |
+
['version' => 'version', 'attribute_id' => 'attribute_id']
|
60 |
+
);
|
61 |
+
|
62 |
+
$jobAttributeQuery = $strakerJobAttributeCollection->getSelect();
|
63 |
+
|
64 |
+
$collection->getSelect()->joinLeft(
|
65 |
+
$jobAttributeQuery,
|
66 |
+
'main_table.attribute_id = t.attribute_id',
|
67 |
+
array('version')
|
68 |
+
);
|
69 |
+
|
70 |
+
$this->setCollection($collection);
|
71 |
+
|
72 |
+
return parent::_prepareCollection();
|
73 |
+
}
|
74 |
+
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Prepare product attributes grid columns
|
78 |
+
*
|
79 |
+
* @return Mage_Adminhtml_Block_Catalog_Product_Attribute_Grid
|
80 |
+
*/
|
81 |
+
protected function _prepareColumns()
|
82 |
+
{
|
83 |
+
parent::_prepareColumns();
|
84 |
+
|
85 |
+
|
86 |
+
$this->addColumn('attribute_code', array(
|
87 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Attribute Code'),
|
88 |
+
'sortable'=>true,
|
89 |
+
'index'=>'attribute_code',
|
90 |
+
'filter' => false
|
91 |
+
));
|
92 |
+
|
93 |
+
$this->addColumn('frontend_label', array(
|
94 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Attribute Label'),
|
95 |
+
'sortable'=>true,
|
96 |
+
'index'=>'frontend_label'
|
97 |
+
));
|
98 |
+
|
99 |
+
$this->addColumn('translate_options', array(
|
100 |
+
'header'=>Mage::helper('strakertranslations_easytranslationplatform')->__('Translate Attribute Options'),
|
101 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_TranslateOptions',
|
102 |
+
'align' => 'center',
|
103 |
+
'index' => false,
|
104 |
+
'sortable'=> false,
|
105 |
+
'filter' => false,
|
106 |
+
));
|
107 |
+
|
108 |
+
$this->addColumn('is_visible', array(
|
109 |
+
'header'=>Mage::helper('catalog')->__('Visible'),
|
110 |
+
'sortable'=>true,
|
111 |
+
'index'=>'is_visible_on_front',
|
112 |
+
'type' => 'options',
|
113 |
+
'options' => array(
|
114 |
+
'1' => Mage::helper('catalog')->__('Yes'),
|
115 |
+
'0' => Mage::helper('catalog')->__('No'),
|
116 |
+
),
|
117 |
+
'align' => 'center',
|
118 |
+
));
|
119 |
+
|
120 |
+
$this->addColumn('version',
|
121 |
+
array(
|
122 |
+
'header'=> Mage::helper('catalog')->__('Translated'),
|
123 |
+
'width' => '70px',
|
124 |
+
'index' => 'version',
|
125 |
+
'type' => 'options',
|
126 |
+
'options' => array(
|
127 |
+
'Translated' => Mage::helper('catalog')->__('Translated'),
|
128 |
+
'Not Translated' => Mage::helper('catalog')->__('Not Translated')
|
129 |
+
),
|
130 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Translated',
|
131 |
+
'filter_condition_callback' => array($this, '_versionFilter'),
|
132 |
+
));
|
133 |
+
|
134 |
+
return $this;
|
135 |
+
}
|
136 |
+
|
137 |
+
protected function _versionFilter($collection, $column)
|
138 |
+
{
|
139 |
+
if (!$value = $column->getFilter()->getValue()) {
|
140 |
+
return $this;
|
141 |
+
}
|
142 |
+
|
143 |
+
if ($value == 'Translated' ){
|
144 |
+
$collection->getSelect()->where('t.version is not null');
|
145 |
+
// print $this->getCollection()->getSelect(); exit;
|
146 |
+
|
147 |
+
} elseif ($value == 'Not Translated'){
|
148 |
+
$collection->getSelect()->where('t.version is null');
|
149 |
+
}
|
150 |
+
|
151 |
+
return $this;
|
152 |
+
}
|
153 |
+
|
154 |
+
protected function _prepareMassaction()
|
155 |
+
{
|
156 |
+
$this->setMassactionIdField('attribute_id');
|
157 |
+
$this->setMassactionIdFilter('main_table.attribute_id');
|
158 |
+
$this->getMassactionBlock()->setFormFieldName('attribute');
|
159 |
+
|
160 |
+
$this->getMassactionBlock()->addItem('add', array(
|
161 |
+
'label'=> Mage::helper('catalog')->__('Add to Confirm Page'),
|
162 |
+
'url' => $this->getUrl('*/*/addtoconfirm'),
|
163 |
+
'selected' => 1
|
164 |
+
));
|
165 |
+
$this->getMassactionBlock()->setTemplate('straker/new/attribute/massaction.phtml');
|
166 |
+
|
167 |
+
//todo: refine this
|
168 |
+
$hiddenParams = '<input type="hidden" name="store" value="'.$this->getRequest()->getParam('store').'" /><input type="hidden" name="option" value="'.$this->getRequest()->getParam('internal_option').'" />';
|
169 |
+
$this->getMassactionBlock()->setHiddenParams($hiddenParams);
|
170 |
+
|
171 |
+
Mage::dispatchEvent('adminhtml_strakertranslation_new_products_grid_prepare_massaction', array('block' => $this));
|
172 |
+
return $this;
|
173 |
+
|
174 |
+
}
|
175 |
+
|
176 |
+
public function getAttributesWithOption(){
|
177 |
+
$AttributeIdsWithOption = clone $this->getCollection()->getSelect();
|
178 |
+
$AttributeIdsWithOption->reset(Zend_Db_Select::ORDER);
|
179 |
+
$AttributeIdsWithOption->reset(Zend_Db_Select::LIMIT_COUNT);
|
180 |
+
$AttributeIdsWithOption->reset(Zend_Db_Select::LIMIT_OFFSET);
|
181 |
+
$AttributeIdsWithOption->reset(Zend_Db_Select::COLUMNS);
|
182 |
+
$AttributeIdsWithOption->reset(Zend_Db_Select::COLUMNS);
|
183 |
+
$AttributeIdsWithOption->where('frontend_input=?','select');
|
184 |
+
$AttributeIdsWithOption->columns('attribute_id', 'main_table');
|
185 |
+
return Mage::getSingleton('core/resource')->getConnection('core_read')->fetchCol($AttributeIdsWithOption);
|
186 |
+
}
|
187 |
+
|
188 |
+
public function getGridUrl()
|
189 |
+
{
|
190 |
+
return $this->getUrl('*/*/new', array('_current'=>true));
|
191 |
+
}
|
192 |
+
|
193 |
+
public function getRowUrl($row)
|
194 |
+
{
|
195 |
+
return '';
|
196 |
+
}
|
197 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Category/Attribute.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Category_Attribute extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
protected function _beforeToHtml(){
|
4 |
+
$this->setTemplate('straker/new/category/attributes.phtml');
|
5 |
+
}
|
6 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Category/Confirm.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Category_Confirm extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
/**
|
4 |
+
* Set template
|
5 |
+
*/
|
6 |
+
public function __construct()
|
7 |
+
{
|
8 |
+
parent::__construct();
|
9 |
+
$this->setTemplate('straker/new/category/confirm.phtml');
|
10 |
+
}
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Prepare button and grid
|
14 |
+
*
|
15 |
+
* @return Mage_Adminhtml_Block_Catalog_Product
|
16 |
+
*/
|
17 |
+
protected function _prepareLayout()
|
18 |
+
{
|
19 |
+
$this->_addButton('submit', array(
|
20 |
+
'label' => Mage::helper('catalog')->__('Submit'),
|
21 |
+
'onclick' => "$('submit-new-job-form').submit();",
|
22 |
+
'class' => 'task'
|
23 |
+
));
|
24 |
+
|
25 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_category_confirm_grid', 'category.grid', array('store' => $this->getStore(), 'attr' => $this->getAttr(), 'category' => $this->getCategory())));
|
26 |
+
return parent::_prepareLayout();
|
27 |
+
}
|
28 |
+
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Render grid
|
32 |
+
*
|
33 |
+
* @return string
|
34 |
+
*/
|
35 |
+
public function getGridHtml()
|
36 |
+
{
|
37 |
+
return $this->getChildHtml('grid');
|
38 |
+
}
|
39 |
+
|
40 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Category/Confirm/Grid.php
ADDED
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Category_Confirm_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
$this->setId('strakerCategories');
|
9 |
+
$this->setDefaultSort('entity_id');
|
10 |
+
$this->setDefaultDir('DESC');
|
11 |
+
$this->setSaveParametersInSession(true);
|
12 |
+
$this->setUseAjax(false);
|
13 |
+
$this->setVarNameFilter('category_filter');
|
14 |
+
$this->setTemplate('straker/new/category/confirm/grid.phtml');
|
15 |
+
}
|
16 |
+
|
17 |
+
protected function _getStore()
|
18 |
+
{
|
19 |
+
$storeId = (int) $this->getRequest()->getParam('store', 0);
|
20 |
+
return Mage::app()->getStore($storeId);
|
21 |
+
}
|
22 |
+
protected function _prepareLayout()
|
23 |
+
{
|
24 |
+
return $this;
|
25 |
+
}
|
26 |
+
// protected function _prepareCollection()
|
27 |
+
// {
|
28 |
+
// $collection = Mage::getModel('catalog/category')->getCollection()
|
29 |
+
// ->addAttributeToSelect('path')
|
30 |
+
// ->addAttributeToSelect('name');
|
31 |
+
// $collection->addAttributeToFilter('entity_id', array('in' => $this->getCategory()));
|
32 |
+
//
|
33 |
+
// foreach ($this->getAttrArray() as $attr){
|
34 |
+
// $collection->addAttributeToSelect($attr);
|
35 |
+
// }
|
36 |
+
//
|
37 |
+
// //join straker job product table to get version for each product
|
38 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
39 |
+
// $collection->getSelect()->joinLeft(
|
40 |
+
// $prefix.'straker_job_category',
|
41 |
+
// $prefix.'straker_job_category.category_id = e.entity_id',
|
42 |
+
// 'version'
|
43 |
+
// );
|
44 |
+
//
|
45 |
+
// $this->setCollection($collection);
|
46 |
+
//
|
47 |
+
// parent::_prepareCollection();
|
48 |
+
//// $this->getCollection()->addWebsiteNamesToResult();
|
49 |
+
// return $this;
|
50 |
+
// }
|
51 |
+
|
52 |
+
protected function _prepareCollection()
|
53 |
+
{
|
54 |
+
/** @var Mage_Catalog_Model_Resource_Category_Collection $collection */
|
55 |
+
$collection = Mage::getModel('catalog/category')->getCollection()
|
56 |
+
->addAttributeToSelect('path')
|
57 |
+
->addAttributeToSelect('name');
|
58 |
+
$collection->addAttributeToFilter('entity_id', array('in' => $this->getCategory()));
|
59 |
+
|
60 |
+
foreach ($this->getAttrArray() as $attr){
|
61 |
+
$collection->addAttributeToSelect($attr);
|
62 |
+
}
|
63 |
+
|
64 |
+
$strakerJobCategoryTable = $collection->getResource()->getTable('strakertranslations_easytranslationplatform/job_category');
|
65 |
+
|
66 |
+
//join straker job product table to get version for each product
|
67 |
+
|
68 |
+
$collection->getSelect()->joinLeft(
|
69 |
+
['a' => $strakerJobCategoryTable ],
|
70 |
+
'a.category_id = e.entity_id AND a.version = 1',
|
71 |
+
'version'
|
72 |
+
);
|
73 |
+
|
74 |
+
$this->setCollection($collection);
|
75 |
+
|
76 |
+
parent::_prepareCollection();
|
77 |
+
// $this->getCollection()->addWebsiteNamesToResult();
|
78 |
+
return $this;
|
79 |
+
}
|
80 |
+
|
81 |
+
// protected function _addColumnFilterToCollection($column)
|
82 |
+
// {
|
83 |
+
//
|
84 |
+
// if ($column->getId() == 'version') {
|
85 |
+
// $this->getCollection()->joinField('version',
|
86 |
+
// 'straker_job_category',
|
87 |
+
// 'version',
|
88 |
+
// 'category_id=entity_id',
|
89 |
+
// null,
|
90 |
+
// 'left');
|
91 |
+
// }
|
92 |
+
//
|
93 |
+
// }
|
94 |
+
|
95 |
+
protected function _prepareColumns()
|
96 |
+
{
|
97 |
+
|
98 |
+
$this->addColumn('entity_id',
|
99 |
+
array(
|
100 |
+
'header'=> Mage::helper('catalog')->__('ID'),
|
101 |
+
'width' => '50px',
|
102 |
+
'type' => 'number',
|
103 |
+
'index' => 'entity_id',
|
104 |
+
'filter' => false,
|
105 |
+
'sortable' => false
|
106 |
+
));
|
107 |
+
|
108 |
+
if (in_array('name',$this->getAttrArray())) {
|
109 |
+
$this->addColumn('name',
|
110 |
+
array(
|
111 |
+
'header' => Mage::helper('catalog')->__('Name to Translate'),
|
112 |
+
'index' => 'name',
|
113 |
+
'filter' => false,
|
114 |
+
'sortable' => false
|
115 |
+
));
|
116 |
+
}
|
117 |
+
else{
|
118 |
+
$this->addColumn('name',
|
119 |
+
array(
|
120 |
+
'header' => Mage::helper('catalog')->__('Name'),
|
121 |
+
'index' => 'name',
|
122 |
+
'filter' => false,
|
123 |
+
'sortable' => false
|
124 |
+
));
|
125 |
+
}
|
126 |
+
|
127 |
+
$this->addColumn('path',
|
128 |
+
array(
|
129 |
+
'header' => Mage::helper('catalog')->__('Path'),
|
130 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Path',
|
131 |
+
'index' => 'path',
|
132 |
+
'filter' => false,
|
133 |
+
'sortable' => false
|
134 |
+
));
|
135 |
+
|
136 |
+
foreach ($this->getAttrArray() as $attr){
|
137 |
+
if ($attr != 'name' && $attr != '') {
|
138 |
+
$attrModel = Mage::getModel('eav/entity_attribute')->loadByCode(3, $attr);
|
139 |
+
$this->addColumn($attr,
|
140 |
+
array(
|
141 |
+
'header' => Mage::helper('catalog')->__($attrModel->getFrontendLabel()) .' to Translate',
|
142 |
+
'index' => $attr,
|
143 |
+
'filter' => false,
|
144 |
+
'sortable' => false
|
145 |
+
));
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
$this->addColumn('version',
|
150 |
+
array(
|
151 |
+
'header'=> Mage::helper('catalog')->__('Translated'),
|
152 |
+
'width' => '70px',
|
153 |
+
'index' => 'version',
|
154 |
+
'type' => 'options',
|
155 |
+
'filter' => false,
|
156 |
+
'sortable' => false,
|
157 |
+
'options' => array(
|
158 |
+
1 => Mage::helper('catalog')->__('Translated'),
|
159 |
+
'' => Mage::helper('catalog')->__('Not Translated')
|
160 |
+
)
|
161 |
+
));
|
162 |
+
|
163 |
+
|
164 |
+
return parent::_prepareColumns();
|
165 |
+
}
|
166 |
+
|
167 |
+
public function getGridUrl()
|
168 |
+
{
|
169 |
+
return $this->getUrl('*/*/confirmCategory', array('_current'=>true));
|
170 |
+
}
|
171 |
+
|
172 |
+
public function getRowUrl($row)
|
173 |
+
{
|
174 |
+
return '';
|
175 |
+
}
|
176 |
+
|
177 |
+
public function getAttrArray(){
|
178 |
+
return explode(',', $this->getAttr());
|
179 |
+
}
|
180 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Category/Tree.php
ADDED
@@ -0,0 +1,252 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Category_Tree extends Mage_Adminhtml_Block_Catalog_Category_Tree{
|
3 |
+
public function __construct()
|
4 |
+
{
|
5 |
+
parent::__construct();
|
6 |
+
$this->setTemplate('straker/new/category/tree.phtml');
|
7 |
+
}
|
8 |
+
|
9 |
+
protected $_categoryIds;
|
10 |
+
protected $_selectedNodes = null;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Checks when this block is readonly
|
14 |
+
*
|
15 |
+
* @return boolean
|
16 |
+
*/
|
17 |
+
public function isReadonly()
|
18 |
+
{
|
19 |
+
return false;
|
20 |
+
// return $this->getProduct()->getCategoriesReadonly();
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Return array with category IDs which the product is assigned to
|
25 |
+
*
|
26 |
+
* @return array
|
27 |
+
*/
|
28 |
+
protected function getCategoryIds()
|
29 |
+
{
|
30 |
+
$categories = $this->getRequest()->getParam('internal_category');
|
31 |
+
if (empty($categories)){
|
32 |
+
return array();
|
33 |
+
}
|
34 |
+
else {
|
35 |
+
return explode(',', $categories);
|
36 |
+
}
|
37 |
+
// return $this->getProduct()->getCategoryIds();
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Forms string out of getCategoryIds()
|
42 |
+
*
|
43 |
+
* @return string
|
44 |
+
*/
|
45 |
+
public function getIdsString()
|
46 |
+
{
|
47 |
+
return implode(',', $this->getCategoryIds());
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Returns root node and sets 'checked' flag (if necessary)
|
52 |
+
*
|
53 |
+
* @return Varien_Data_Tree_Node
|
54 |
+
*/
|
55 |
+
public function getRootNode()
|
56 |
+
{
|
57 |
+
$root = $this->getRoot();
|
58 |
+
if ($root && in_array($root->getId(), $this->getCategoryIds())) {
|
59 |
+
$root->setChecked(true);
|
60 |
+
}
|
61 |
+
return $root;
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Returns root node
|
66 |
+
*
|
67 |
+
* @param Mage_Catalog_Model_Category|null $parentNodeCategory
|
68 |
+
* @param int $recursionLevel
|
69 |
+
* @return Varien_Data_Tree_Node
|
70 |
+
*/
|
71 |
+
public function getRoot($parentNodeCategory = null, $recursionLevel = 3)
|
72 |
+
{
|
73 |
+
if (!is_null($parentNodeCategory) && $parentNodeCategory->getId()) {
|
74 |
+
return $this->getNode($parentNodeCategory, $recursionLevel);
|
75 |
+
}
|
76 |
+
$root = Mage::registry('root');
|
77 |
+
if (is_null($root)) {
|
78 |
+
$storeId = (int) $this->getRequest()->getParam('store');
|
79 |
+
|
80 |
+
if ($storeId) {
|
81 |
+
$store = Mage::app()->getStore($storeId);
|
82 |
+
$rootId = $store->getRootCategoryId();
|
83 |
+
}
|
84 |
+
else {
|
85 |
+
$rootId = Mage_Catalog_Model_Category::TREE_ROOT_ID;
|
86 |
+
}
|
87 |
+
|
88 |
+
$ids = $this->getSelectedCategoriesPathIds($rootId);
|
89 |
+
$tree = Mage::getResourceSingleton('catalog/category_tree')
|
90 |
+
->loadByIds($ids, false, false);
|
91 |
+
|
92 |
+
if ($this->getCategory()) {
|
93 |
+
$tree->loadEnsuredNodes($this->getCategory(), $tree->getNodeById($rootId));
|
94 |
+
}
|
95 |
+
|
96 |
+
$tree->addCollectionData($this->getCategoryCollection());
|
97 |
+
|
98 |
+
$root = $tree->getNodeById($rootId);
|
99 |
+
|
100 |
+
if ($root && $rootId != Mage_Catalog_Model_Category::TREE_ROOT_ID) {
|
101 |
+
$root->setIsVisible(true);
|
102 |
+
if ($this->isReadonly()) {
|
103 |
+
$root->setDisabled(true);
|
104 |
+
}
|
105 |
+
}
|
106 |
+
elseif($root && $root->getId() == Mage_Catalog_Model_Category::TREE_ROOT_ID) {
|
107 |
+
$root->setName(Mage::helper('catalog')->__('Root'));
|
108 |
+
}
|
109 |
+
|
110 |
+
Mage::register('root', $root);
|
111 |
+
}
|
112 |
+
|
113 |
+
return $root;
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Returns array with configuration of current node
|
118 |
+
*
|
119 |
+
* @param Varien_Data_Tree_Node $node
|
120 |
+
* @param int $level How deep is the node in the tree
|
121 |
+
* @return array
|
122 |
+
*/
|
123 |
+
protected function _getNodeJson($node, $level = 1)
|
124 |
+
{
|
125 |
+
$item = parent::_getNodeJson($node, $level);
|
126 |
+
|
127 |
+
if ($this->_isParentSelectedCategory($node)) {
|
128 |
+
$item['expanded'] = true;
|
129 |
+
}
|
130 |
+
|
131 |
+
if (in_array($node->getId(), $this->getCategoryIds())) {
|
132 |
+
$item['checked'] = true;
|
133 |
+
}
|
134 |
+
|
135 |
+
if ($this->isReadonly()) {
|
136 |
+
$item['disabled'] = true;
|
137 |
+
}
|
138 |
+
|
139 |
+
return $item;
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Returns whether $node is a parent (not exactly direct) of a selected node
|
144 |
+
*
|
145 |
+
* @param Varien_Data_Tree_Node $node
|
146 |
+
* @return bool
|
147 |
+
*/
|
148 |
+
protected function _isParentSelectedCategory($node)
|
149 |
+
{
|
150 |
+
foreach ($this->_getSelectedNodes() as $selected) {
|
151 |
+
if ($selected) {
|
152 |
+
$pathIds = explode('/', $selected->getPathId());
|
153 |
+
if (in_array($node->getId(), $pathIds)) {
|
154 |
+
return true;
|
155 |
+
}
|
156 |
+
}
|
157 |
+
}
|
158 |
+
|
159 |
+
return false;
|
160 |
+
}
|
161 |
+
|
162 |
+
/**
|
163 |
+
* Returns array with nodes those are selected (contain current product)
|
164 |
+
*
|
165 |
+
* @return array
|
166 |
+
*/
|
167 |
+
protected function _getSelectedNodes()
|
168 |
+
{
|
169 |
+
if ($this->_selectedNodes === null) {
|
170 |
+
$this->_selectedNodes = array();
|
171 |
+
$root = $this->getRoot();
|
172 |
+
foreach ($this->getCategoryIds() as $categoryId) {
|
173 |
+
if ($root) {
|
174 |
+
$this->_selectedNodes[] = $root->getTree()->getNodeById($categoryId);
|
175 |
+
}
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
return $this->_selectedNodes;
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Returns JSON-encoded array of category children
|
184 |
+
*
|
185 |
+
* @param int $categoryId
|
186 |
+
* @return string
|
187 |
+
*/
|
188 |
+
public function getCategoryChildrenJson($categoryId)
|
189 |
+
{
|
190 |
+
$category = Mage::getModel('catalog/category')->load($categoryId);
|
191 |
+
$node = $this->getRoot($category, 1)->getTree()->getNodeById($categoryId);
|
192 |
+
|
193 |
+
if (!$node || !$node->hasChildren()) {
|
194 |
+
return '[]';
|
195 |
+
}
|
196 |
+
|
197 |
+
$children = array();
|
198 |
+
foreach ($node->getChildren() as $child) {
|
199 |
+
$children[] = $this->_getNodeJson($child);
|
200 |
+
}
|
201 |
+
|
202 |
+
return Mage::helper('core')->jsonEncode($children);
|
203 |
+
}
|
204 |
+
|
205 |
+
/**
|
206 |
+
* Returns URL for loading tree
|
207 |
+
*
|
208 |
+
* @param null $expanded
|
209 |
+
* @return string
|
210 |
+
*/
|
211 |
+
public function getLoadTreeUrl($expanded = null)
|
212 |
+
{
|
213 |
+
return $this->getUrl('*/*/categoriesJson', array('_current' => true));
|
214 |
+
}
|
215 |
+
|
216 |
+
/**
|
217 |
+
* Return distinct path ids of selected categories
|
218 |
+
*
|
219 |
+
* @param mixed $rootId Root category Id for context
|
220 |
+
* @return array
|
221 |
+
*/
|
222 |
+
public function getSelectedCategoriesPathIds($rootId = false)
|
223 |
+
{
|
224 |
+
$ids = array();
|
225 |
+
$categoryIds = $this->getCategoryIds();
|
226 |
+
if (empty($categoryIds)) {
|
227 |
+
return array();
|
228 |
+
}
|
229 |
+
$collection = Mage::getResourceModel('catalog/category_collection');
|
230 |
+
|
231 |
+
if ($rootId) {
|
232 |
+
$collection->addFieldToFilter(array(
|
233 |
+
array('attribute' => 'parent_id', 'eq' => $rootId),
|
234 |
+
array('attribute' => 'entity_id', 'in' => $categoryIds)
|
235 |
+
));
|
236 |
+
} else {
|
237 |
+
$collection->addFieldToFilter('entity_id', array('in' => $categoryIds));
|
238 |
+
}
|
239 |
+
|
240 |
+
foreach ($collection as $item) {
|
241 |
+
if ($rootId && !in_array($rootId, $item->getPathIds())) {
|
242 |
+
continue;
|
243 |
+
}
|
244 |
+
foreach ($item->getPathIds() as $id) {
|
245 |
+
if (!in_array($id, $ids)) {
|
246 |
+
$ids[] = $id;
|
247 |
+
}
|
248 |
+
}
|
249 |
+
}
|
250 |
+
return $ids;
|
251 |
+
}
|
252 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Block.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Cms_Block extends Mage_Adminhtml_Block_Widget_Container
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
public function __construct()
|
8 |
+
{
|
9 |
+
parent::__construct();
|
10 |
+
$this->setTemplate('straker/new/cms/block.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Prepare button and grid
|
15 |
+
*
|
16 |
+
* @return Mage_Adminhtml_Block_Catalog_Product
|
17 |
+
*/
|
18 |
+
protected function _prepareLayout()
|
19 |
+
{
|
20 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_block_grid', 'cms_block.grid', array('setup_store_id' => $this->getSetupStoreId(), 'attr' => $this->getAttr())));
|
21 |
+
return parent::_prepareLayout();
|
22 |
+
}
|
23 |
+
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Render grid
|
27 |
+
*
|
28 |
+
* @return string
|
29 |
+
*/
|
30 |
+
public function getGridHtml()
|
31 |
+
{
|
32 |
+
return $this->getChildHtml('grid');
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Check whether it is single store mode
|
37 |
+
*
|
38 |
+
* @return bool
|
39 |
+
*/
|
40 |
+
public function isSingleStoreMode()
|
41 |
+
{
|
42 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
43 |
+
return false;
|
44 |
+
}
|
45 |
+
return true;
|
46 |
+
}
|
47 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Block/Attribute.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Cms_Block_Attribute extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
private static $_cmsBlockAttributes = array(
|
5 |
+
'title' => 'Title',
|
6 |
+
'content' => 'Content',
|
7 |
+
);
|
8 |
+
|
9 |
+
protected function _beforeToHtml(){
|
10 |
+
$this->setTemplate('straker/new/cms/block/attributes.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
public function getAttributes(){
|
14 |
+
return self::$_cmsBlockAttributes;
|
15 |
+
}
|
16 |
+
|
17 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Block/Confirm.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Cms_Block_Confirm extends Mage_Adminhtml_Block_Widget_Container
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
public function __construct()
|
8 |
+
{
|
9 |
+
parent::__construct();
|
10 |
+
$this->setTemplate('straker/new/cms/block/confirm.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
|
14 |
+
protected function _prepareLayout()
|
15 |
+
{
|
16 |
+
$this->_addButton('submit', array(
|
17 |
+
'label' => Mage::helper('catalog')->__('Submit'),
|
18 |
+
'onclick' => "$('submit-new-job-form').submit();",
|
19 |
+
'class' => 'task'
|
20 |
+
));
|
21 |
+
|
22 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_block_confirm_grid', 'cms_block.grid', array('store' => $this->getStore(), 'cms_block' => $this->getCmsBlock())));
|
23 |
+
return parent::_prepareLayout();
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Render grid
|
28 |
+
*
|
29 |
+
* @return string
|
30 |
+
*/
|
31 |
+
public function getGridHtml()
|
32 |
+
{
|
33 |
+
return $this->getChildHtml('grid');
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Check whether it is single store mode
|
38 |
+
*
|
39 |
+
* @return bool
|
40 |
+
*/
|
41 |
+
public function isSingleStoreMode()
|
42 |
+
{
|
43 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
44 |
+
return false;
|
45 |
+
}
|
46 |
+
return true;
|
47 |
+
}
|
48 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Block/Confirm/Grid.php
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Cms_Block_Confirm_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
$this->setId('strakerCmsBlocks');
|
9 |
+
$this->setDefaultSort('identifier');
|
10 |
+
$this->setDefaultDir('ASC');
|
11 |
+
$this->setUseAjax(false);
|
12 |
+
$this->setFilterVisibility(false);
|
13 |
+
}
|
14 |
+
|
15 |
+
|
16 |
+
protected function _prepareCollection()
|
17 |
+
{
|
18 |
+
$collection = Mage::getModel('cms/block')->getCollection()->addFieldToFilter('block_id', $this->getCmsBlock());
|
19 |
+
/* @var $collection Mage_Cms_Model_Mysql4_Block_Collection */
|
20 |
+
$this->setCollection($collection);
|
21 |
+
return parent::_prepareCollection();
|
22 |
+
}
|
23 |
+
|
24 |
+
protected function _prepareColumns()
|
25 |
+
{
|
26 |
+
$baseUrl = $this->getUrl();
|
27 |
+
|
28 |
+
$this->addColumn('title', array(
|
29 |
+
'header' => Mage::helper('cms')->__('Title'),
|
30 |
+
'align' => 'left',
|
31 |
+
'index' => 'title',
|
32 |
+
));
|
33 |
+
|
34 |
+
$this->addColumn('identifier', array(
|
35 |
+
'header' => Mage::helper('cms')->__('Identifier'),
|
36 |
+
'align' => 'left',
|
37 |
+
'index' => 'identifier'
|
38 |
+
));
|
39 |
+
|
40 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
41 |
+
$this->addColumn('store_id', array(
|
42 |
+
'header' => Mage::helper('cms')->__('Store View'),
|
43 |
+
'index' => 'store_id',
|
44 |
+
'type' => 'store',
|
45 |
+
'store_all' => true,
|
46 |
+
'store_view' => true,
|
47 |
+
'sortable' => false,
|
48 |
+
'filter_condition_callback'
|
49 |
+
=> array($this, '_filterStoreCondition'),
|
50 |
+
));
|
51 |
+
}
|
52 |
+
|
53 |
+
$this->addColumn('is_active', array(
|
54 |
+
'header' => Mage::helper('cms')->__('Status'),
|
55 |
+
'index' => 'is_active',
|
56 |
+
'type' => 'options',
|
57 |
+
'options' => array(
|
58 |
+
0 => Mage::helper('cms')->__('Disabled'),
|
59 |
+
1 => Mage::helper('cms')->__('Enabled')
|
60 |
+
),
|
61 |
+
));
|
62 |
+
|
63 |
+
$this->addColumn('creation_time', array(
|
64 |
+
'header' => Mage::helper('cms')->__('Date Created'),
|
65 |
+
'index' => 'creation_time',
|
66 |
+
'type' => 'datetime',
|
67 |
+
));
|
68 |
+
|
69 |
+
$this->addColumn('update_time', array(
|
70 |
+
'header' => Mage::helper('cms')->__('Last Modified'),
|
71 |
+
'index' => 'update_time',
|
72 |
+
'type' => 'datetime',
|
73 |
+
));
|
74 |
+
|
75 |
+
return parent::_prepareColumns();
|
76 |
+
}
|
77 |
+
|
78 |
+
protected function _afterLoadCollection()
|
79 |
+
{
|
80 |
+
$this->getCollection()->walk('afterLoad');
|
81 |
+
parent::_afterLoadCollection();
|
82 |
+
}
|
83 |
+
|
84 |
+
protected function _filterStoreCondition($collection, $column)
|
85 |
+
{
|
86 |
+
if (!$value = $column->getFilter()->getValue()) {
|
87 |
+
return;
|
88 |
+
}
|
89 |
+
|
90 |
+
$this->getCollection()->addStoreFilter($value);
|
91 |
+
}
|
92 |
+
public function getRowUrl($row)
|
93 |
+
{
|
94 |
+
return '';
|
95 |
+
}
|
96 |
+
|
97 |
+
protected function _getStore()
|
98 |
+
{
|
99 |
+
$storeId = (int) $this->getRequest()->getParam('store', 0);
|
100 |
+
return Mage::app()->getStore($storeId);
|
101 |
+
}
|
102 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Block/Grid.php
ADDED
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Cms_Block_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
$this->setId('strakerCmsBlocks');
|
9 |
+
$this->setDefaultSort('block_identifier');
|
10 |
+
$this->setDefaultDir('ASC');
|
11 |
+
$this->setSaveParametersInSession(true);
|
12 |
+
$this->setUseAjax(false);
|
13 |
+
}
|
14 |
+
|
15 |
+
protected function _prepareCollection()
|
16 |
+
{
|
17 |
+
$collection = Mage::getModel('cms/block')->getCollection();
|
18 |
+
/* @var $collection Mage_Cms_Model_Mysql4_Block_Collection */
|
19 |
+
$this->setCollection($collection);
|
20 |
+
return parent::_prepareCollection();
|
21 |
+
}
|
22 |
+
|
23 |
+
protected function _prepareColumns()
|
24 |
+
{
|
25 |
+
$baseUrl = $this->getUrl();
|
26 |
+
|
27 |
+
$this->addColumn('title', array(
|
28 |
+
'header' => Mage::helper('cms')->__('Title'),
|
29 |
+
'align' => 'left',
|
30 |
+
'index' => 'title',
|
31 |
+
));
|
32 |
+
|
33 |
+
$this->addColumn('identifier', array(
|
34 |
+
'header' => Mage::helper('cms')->__('Identifier'),
|
35 |
+
'align' => 'left',
|
36 |
+
'index' => 'identifier'
|
37 |
+
));
|
38 |
+
|
39 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
40 |
+
$this->addColumn('store_id', array(
|
41 |
+
'header' => Mage::helper('cms')->__('Store View'),
|
42 |
+
'index' => 'store_id',
|
43 |
+
'type' => 'store',
|
44 |
+
'store_all' => true,
|
45 |
+
'store_view' => true,
|
46 |
+
'sortable' => false,
|
47 |
+
'filter_condition_callback'
|
48 |
+
=> array($this, '_filterStoreCondition'),
|
49 |
+
));
|
50 |
+
}
|
51 |
+
|
52 |
+
$this->addColumn('is_active', array(
|
53 |
+
'header' => Mage::helper('cms')->__('Status'),
|
54 |
+
'index' => 'is_active',
|
55 |
+
'type' => 'options',
|
56 |
+
'options' => array(
|
57 |
+
0 => Mage::helper('cms')->__('Disabled'),
|
58 |
+
1 => Mage::helper('cms')->__('Enabled')
|
59 |
+
),
|
60 |
+
));
|
61 |
+
|
62 |
+
$this->addColumn('creation_time', array(
|
63 |
+
'header' => Mage::helper('cms')->__('Date Created'),
|
64 |
+
'index' => 'creation_time',
|
65 |
+
'type' => 'datetime',
|
66 |
+
));
|
67 |
+
|
68 |
+
$this->addColumn('update_time', array(
|
69 |
+
'header' => Mage::helper('cms')->__('Last Modified'),
|
70 |
+
'index' => 'update_time',
|
71 |
+
'type' => 'datetime',
|
72 |
+
));
|
73 |
+
|
74 |
+
return parent::_prepareColumns();
|
75 |
+
}
|
76 |
+
|
77 |
+
protected function _afterLoadCollection()
|
78 |
+
{
|
79 |
+
$this->getCollection()->walk('afterLoad');
|
80 |
+
parent::_afterLoadCollection();
|
81 |
+
}
|
82 |
+
|
83 |
+
protected function _filterStoreCondition($collection, $column)
|
84 |
+
{
|
85 |
+
if (!$value = $column->getFilter()->getValue()) {
|
86 |
+
return;
|
87 |
+
}
|
88 |
+
|
89 |
+
$this->getCollection()->addStoreFilter($value);
|
90 |
+
}
|
91 |
+
|
92 |
+
protected function _prepareMassaction()
|
93 |
+
{
|
94 |
+
$this->setMassactionIdField('entity_id');
|
95 |
+
$this->getMassactionBlock()->setFormFieldName('cms_block');
|
96 |
+
|
97 |
+
$this->getMassactionBlock()->addItem('add', array(
|
98 |
+
'label'=> Mage::helper('catalog')->__('Add to Confirm Page'),
|
99 |
+
'url' => $this->getUrl('*/*/addtoconfirm'),
|
100 |
+
'selected' => 1
|
101 |
+
));
|
102 |
+
$this->getMassactionBlock()->setTemplate('straker/new/cms/page/massaction.phtml');
|
103 |
+
|
104 |
+
//todo: refine this
|
105 |
+
$hiddenParams = '<input type="hidden" name="store" value="'.$this->_getStore()->getId().'" />';
|
106 |
+
$hiddenParams .= '<input type="hidden" name="attr" value="'.$this->getAttr().'" />';
|
107 |
+
$this->getMassactionBlock()->setHiddenParams($hiddenParams);
|
108 |
+
|
109 |
+
|
110 |
+
Mage::dispatchEvent('adminhtml_strakertranslation_new_products_grid_prepare_massaction', array('block' => $this));
|
111 |
+
return $this;
|
112 |
+
}
|
113 |
+
|
114 |
+
public function getRowUrl($row)
|
115 |
+
{
|
116 |
+
return '';
|
117 |
+
}
|
118 |
+
|
119 |
+
protected function _getStore()
|
120 |
+
{
|
121 |
+
$storeId = (int) $this->getRequest()->getParam('store', 0);
|
122 |
+
return Mage::app()->getStore($storeId);
|
123 |
+
}
|
124 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Page.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Cms_Page extends Mage_Adminhtml_Block_Widget_Container
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
public function __construct()
|
8 |
+
{
|
9 |
+
parent::__construct();
|
10 |
+
$this->setTemplate('straker/new/cms/page.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Prepare button and grid
|
15 |
+
*
|
16 |
+
* @return Mage_Adminhtml_Block_Catalog_Product
|
17 |
+
*/
|
18 |
+
protected function _prepareLayout()
|
19 |
+
{
|
20 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_page_grid', 'cms_page.grid', array('setup_store_id' => $this->getSetupStoreId(), 'attr' => $this->getAttr())));
|
21 |
+
return parent::_prepareLayout();
|
22 |
+
}
|
23 |
+
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Render grid
|
27 |
+
*
|
28 |
+
* @return string
|
29 |
+
*/
|
30 |
+
public function getGridHtml()
|
31 |
+
{
|
32 |
+
return $this->getChildHtml('grid');
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Check whether it is single store mode
|
37 |
+
*
|
38 |
+
* @return bool
|
39 |
+
*/
|
40 |
+
public function isSingleStoreMode()
|
41 |
+
{
|
42 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
43 |
+
return false;
|
44 |
+
}
|
45 |
+
return true;
|
46 |
+
}
|
47 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Page/Attribute.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Cms_Page_Attribute extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
private static $_cmsPageAttributes = array(
|
5 |
+
'title' => 'Title',
|
6 |
+
'meta_keywords' => 'Meta Keywords',
|
7 |
+
'meta_description' => 'Meta Description',
|
8 |
+
'content_heading' => 'Content Heading',
|
9 |
+
'content' => 'Content',
|
10 |
+
);
|
11 |
+
|
12 |
+
protected function _beforeToHtml(){
|
13 |
+
$this->setTemplate('straker/new/cms/page/attributes.phtml');
|
14 |
+
}
|
15 |
+
|
16 |
+
public function getAttributes(){
|
17 |
+
return self::$_cmsPageAttributes;
|
18 |
+
}
|
19 |
+
|
20 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Page/Confirm.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Cms_Page_Confirm extends Mage_Adminhtml_Block_Widget_Container
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
public function __construct()
|
8 |
+
{
|
9 |
+
parent::__construct();
|
10 |
+
$this->setTemplate('straker/new/cms/page/confirm.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
|
14 |
+
protected function _prepareLayout()
|
15 |
+
{
|
16 |
+
$this->_addButton('submit', array(
|
17 |
+
'label' => Mage::helper('catalog')->__('Submit'),
|
18 |
+
'onclick' => "$('submit-new-job-form').submit();",
|
19 |
+
'class' => 'task'
|
20 |
+
));
|
21 |
+
|
22 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_page_confirm_grid', 'cms_page.grid', array('store' => $this->getStore(), 'cms_page' => $this->getCmsPage(), 'attr' => $this->getAttr())));
|
23 |
+
return parent::_prepareLayout();
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Render grid
|
28 |
+
*
|
29 |
+
* @return string
|
30 |
+
*/
|
31 |
+
public function getGridHtml()
|
32 |
+
{
|
33 |
+
return $this->getChildHtml('grid');
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Check whether it is single store mode
|
38 |
+
*
|
39 |
+
* @return bool
|
40 |
+
*/
|
41 |
+
public function isSingleStoreMode()
|
42 |
+
{
|
43 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
44 |
+
return false;
|
45 |
+
}
|
46 |
+
return true;
|
47 |
+
}
|
48 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Page/Confirm/Grid.php
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Cms_Page_Confirm_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
$this->setId('strakerCmsPages');
|
9 |
+
$this->setDefaultSort('identifier');
|
10 |
+
$this->setDefaultDir('ASC');
|
11 |
+
$this->setUseAjax(false);
|
12 |
+
$this->setFilterVisibility(false);
|
13 |
+
}
|
14 |
+
|
15 |
+
protected function _prepareCollection()
|
16 |
+
{
|
17 |
+
$collection = Mage::getModel('cms/page')->getCollection()->addFieldToFilter('page_id', array('in' => $this->getCmsPage()));
|
18 |
+
/* @var $collection Mage_Cms_Model_Mysql4_Page_Collection */
|
19 |
+
$collection->setFirstStoreFlag(true);
|
20 |
+
$this->setCollection($collection);
|
21 |
+
|
22 |
+
return parent::_prepareCollection();
|
23 |
+
}
|
24 |
+
|
25 |
+
protected function _prepareColumns()
|
26 |
+
{
|
27 |
+
$baseUrl = $this->getUrl();
|
28 |
+
|
29 |
+
$this->addColumn('title', array(
|
30 |
+
'header' => Mage::helper('cms')->__('Title'),
|
31 |
+
'align' => 'left',
|
32 |
+
'index' => 'title',
|
33 |
+
));
|
34 |
+
|
35 |
+
$this->addColumn('identifier', array(
|
36 |
+
'header' => Mage::helper('cms')->__('URL Key'),
|
37 |
+
'align' => 'left',
|
38 |
+
'index' => 'identifier',
|
39 |
+
));
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Check is single store mode
|
43 |
+
*/
|
44 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
45 |
+
$this->addColumn('store_id', array(
|
46 |
+
'header' => Mage::helper('cms')->__('Store View'),
|
47 |
+
'index' => 'store_id',
|
48 |
+
'type' => 'store',
|
49 |
+
'store_all' => true,
|
50 |
+
'store_view' => true,
|
51 |
+
'sortable' => false,
|
52 |
+
));
|
53 |
+
}
|
54 |
+
|
55 |
+
$this->addColumn('is_active', array(
|
56 |
+
'header' => Mage::helper('cms')->__('Status'),
|
57 |
+
'index' => 'is_active',
|
58 |
+
'type' => 'options',
|
59 |
+
'options' => Mage::getSingleton('cms/page')->getAvailableStatuses(),
|
60 |
+
));
|
61 |
+
|
62 |
+
$this->addColumn('creation_time', array(
|
63 |
+
'header' => Mage::helper('cms')->__('Date Created'),
|
64 |
+
'index' => 'creation_time',
|
65 |
+
'type' => 'datetime',
|
66 |
+
));
|
67 |
+
|
68 |
+
$this->addColumn('update_time', array(
|
69 |
+
'header' => Mage::helper('cms')->__('Last Modified'),
|
70 |
+
'index' => 'update_time',
|
71 |
+
'type' => 'datetime',
|
72 |
+
));
|
73 |
+
|
74 |
+
$this->addColumn('page_actions', array(
|
75 |
+
'header' => Mage::helper('cms')->__('Action'),
|
76 |
+
'width' => 10,
|
77 |
+
'sortable' => false,
|
78 |
+
'renderer' => 'adminhtml/cms_page_grid_renderer_action',
|
79 |
+
));
|
80 |
+
|
81 |
+
return parent::_prepareColumns();
|
82 |
+
}
|
83 |
+
|
84 |
+
protected function _afterLoadCollection()
|
85 |
+
{
|
86 |
+
$this->getCollection()->walk('afterLoad');
|
87 |
+
parent::_afterLoadCollection();
|
88 |
+
}
|
89 |
+
|
90 |
+
protected function _filterStoreCondition($collection, $column)
|
91 |
+
{
|
92 |
+
if (!$value = $column->getFilter()->getValue()) {
|
93 |
+
return;
|
94 |
+
}
|
95 |
+
|
96 |
+
$this->getCollection()->addStoreFilter($value);
|
97 |
+
}
|
98 |
+
|
99 |
+
public function getRowUrl($row)
|
100 |
+
{
|
101 |
+
return '';
|
102 |
+
}
|
103 |
+
|
104 |
+
protected function _getStore()
|
105 |
+
{
|
106 |
+
$storeId = (int) $this->getRequest()->getParam('store', 0);
|
107 |
+
return Mage::app()->getStore($storeId);
|
108 |
+
}
|
109 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Cms/Page/Grid.php
ADDED
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Cms_Page_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
$this->setId('strakerCmsPages');
|
9 |
+
$this->setDefaultSort('identifier');
|
10 |
+
$this->setDefaultDir('ASC');
|
11 |
+
$this->setSaveParametersInSession(true);
|
12 |
+
$this->setUseAjax(false);
|
13 |
+
}
|
14 |
+
|
15 |
+
protected function _prepareCollection()
|
16 |
+
{
|
17 |
+
/* @var $collection Mage_Cms_Model_Mysql4_Page_Collection */
|
18 |
+
$collection = Mage::getModel('cms/page')->getCollection();
|
19 |
+
//todo: should add $collection->addStoreFilter(sourceStoreId);
|
20 |
+
$collection->setFirstStoreFlag(true);
|
21 |
+
//var_dump($collection->getSelect()->__toString());exit;
|
22 |
+
$this->setCollection($collection);
|
23 |
+
|
24 |
+
return parent::_prepareCollection();
|
25 |
+
}
|
26 |
+
|
27 |
+
protected function _prepareColumns()
|
28 |
+
{
|
29 |
+
$baseUrl = $this->getUrl();
|
30 |
+
|
31 |
+
$this->addColumn('title', array(
|
32 |
+
'header' => Mage::helper('cms')->__('Title'),
|
33 |
+
'align' => 'left',
|
34 |
+
'index' => 'title',
|
35 |
+
));
|
36 |
+
|
37 |
+
$this->addColumn('identifier', array(
|
38 |
+
'header' => Mage::helper('cms')->__('URL Key'),
|
39 |
+
'align' => 'left',
|
40 |
+
'index' => 'identifier'
|
41 |
+
));
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Check is single store mode
|
45 |
+
*/
|
46 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
47 |
+
$this->addColumn('store_id', array(
|
48 |
+
'header' => Mage::helper('cms')->__('Store View'),
|
49 |
+
'index' => 'store_id',
|
50 |
+
'type' => 'store',
|
51 |
+
'store_all' => true,
|
52 |
+
'store_view' => true,
|
53 |
+
'sortable' => false,
|
54 |
+
'filter_condition_callback'
|
55 |
+
=> array($this, '_filterStoreCondition'),
|
56 |
+
));
|
57 |
+
}
|
58 |
+
|
59 |
+
$this->addColumn('is_active', array(
|
60 |
+
'header' => Mage::helper('cms')->__('Status'),
|
61 |
+
'index' => 'is_active',
|
62 |
+
'type' => 'options',
|
63 |
+
'options' => Mage::getSingleton('cms/page')->getAvailableStatuses()
|
64 |
+
));
|
65 |
+
|
66 |
+
$this->addColumn('creation_time', array(
|
67 |
+
'header' => Mage::helper('cms')->__('Date Created'),
|
68 |
+
'index' => 'creation_time',
|
69 |
+
'type' => 'datetime',
|
70 |
+
));
|
71 |
+
|
72 |
+
$this->addColumn('update_time', array(
|
73 |
+
'header' => Mage::helper('cms')->__('Last Modified'),
|
74 |
+
'index' => 'update_time',
|
75 |
+
'type' => 'datetime',
|
76 |
+
));
|
77 |
+
|
78 |
+
$this->addColumn('page_actions', array(
|
79 |
+
'header' => Mage::helper('cms')->__('Action'),
|
80 |
+
'width' => 10,
|
81 |
+
'sortable' => false,
|
82 |
+
'filter' => false,
|
83 |
+
'renderer' => 'adminhtml/cms_page_grid_renderer_action',
|
84 |
+
));
|
85 |
+
|
86 |
+
return parent::_prepareColumns();
|
87 |
+
}
|
88 |
+
|
89 |
+
protected function _afterLoadCollection()
|
90 |
+
{
|
91 |
+
$this->getCollection()->walk('afterLoad');
|
92 |
+
parent::_afterLoadCollection();
|
93 |
+
}
|
94 |
+
|
95 |
+
protected function _filterStoreCondition($collection, $column)
|
96 |
+
{
|
97 |
+
if (!$value = $column->getFilter()->getValue()) {
|
98 |
+
return;
|
99 |
+
}
|
100 |
+
|
101 |
+
$this->getCollection()->addStoreFilter($value);
|
102 |
+
}
|
103 |
+
|
104 |
+
protected function _prepareMassaction()
|
105 |
+
{
|
106 |
+
$this->setMassactionIdField('entity_id');
|
107 |
+
$this->getMassactionBlock()->setFormFieldName('cms_page');
|
108 |
+
|
109 |
+
$this->getMassactionBlock()->addItem('add', array(
|
110 |
+
'label'=> Mage::helper('catalog')->__('Add to Confirm Page'),
|
111 |
+
'url' => $this->getUrl('*/*/addtoconfirm'),
|
112 |
+
'selected' => 1
|
113 |
+
));
|
114 |
+
$this->getMassactionBlock()->setTemplate('straker/new/cms/page/massaction.phtml');
|
115 |
+
|
116 |
+
//todo: refine this
|
117 |
+
$hiddenParams = '<input type="hidden" name="store" value="'.$this->_getStore()->getId().'" />';
|
118 |
+
$hiddenParams .= '<input type="hidden" name="attr" value="'.$this->getAttr().'" />';
|
119 |
+
$this->getMassactionBlock()->setHiddenParams($hiddenParams);
|
120 |
+
|
121 |
+
|
122 |
+
Mage::dispatchEvent('adminhtml_strakertranslation_new_products_grid_prepare_massaction', array('block' => $this));
|
123 |
+
return $this;
|
124 |
+
}
|
125 |
+
|
126 |
+
public function getRowUrl($row)
|
127 |
+
{
|
128 |
+
return '';
|
129 |
+
}
|
130 |
+
|
131 |
+
protected function _getStore()
|
132 |
+
{
|
133 |
+
$storeId = (int) $this->getRequest()->getParam('store', 0);
|
134 |
+
return Mage::app()->getStore($storeId);
|
135 |
+
}
|
136 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Confirm.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Confirm extends Mage_Adminhtml_Block_Widget_Container
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
public function __construct()
|
8 |
+
{
|
9 |
+
parent::__construct();
|
10 |
+
$this->setTemplate('straker/new/confirm.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Prepare button and grid
|
15 |
+
*
|
16 |
+
* @return Mage_Adminhtml_Block_Catalog_Product
|
17 |
+
*/
|
18 |
+
protected function _prepareLayout()
|
19 |
+
{
|
20 |
+
$this->_addButton('submit', array(
|
21 |
+
'label' => Mage::helper('catalog')->__('Submit'),
|
22 |
+
'onclick' => "$('submit-new-job-form').submit();",
|
23 |
+
// 'onclick' => "setLocation('{$this->getUrl('*/*/submit')}')",
|
24 |
+
'class' => 'task'
|
25 |
+
));
|
26 |
+
|
27 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_confirm_grid', 'product.grid', array('store' => $this->getStore(), 'attr' => $this->getAttr(), 'product' => $this->getProduct())));
|
28 |
+
return parent::_prepareLayout();
|
29 |
+
}
|
30 |
+
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Render grid
|
34 |
+
*
|
35 |
+
* @return string
|
36 |
+
*/
|
37 |
+
public function getGridHtml()
|
38 |
+
{
|
39 |
+
return $this->getChildHtml('grid');
|
40 |
+
}
|
41 |
+
|
42 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Confirm/Grid.php
ADDED
@@ -0,0 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Confirm_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
$this->setId('strakerProducts');
|
9 |
+
$this->setDefaultSort('entity_id');
|
10 |
+
$this->setDefaultDir('DESC');
|
11 |
+
$this->setSaveParametersInSession(true);
|
12 |
+
$this->setUseAjax(false);
|
13 |
+
$this->setVarNameFilter('product_filter');
|
14 |
+
}
|
15 |
+
|
16 |
+
protected function _getStore()
|
17 |
+
{
|
18 |
+
$storeId = (int) $this->getRequest()->getParam('store', 0);
|
19 |
+
return Mage::app()->getStore($storeId);
|
20 |
+
}
|
21 |
+
protected function _prepareLayout()
|
22 |
+
{
|
23 |
+
return $this;
|
24 |
+
}
|
25 |
+
protected function _prepareCollection()
|
26 |
+
{
|
27 |
+
$store = $this->_getStore();
|
28 |
+
$collection = Mage::getModel('catalog/product')->getCollection()
|
29 |
+
->addAttributeToSelect('sku')
|
30 |
+
->addAttributeToSelect('name')
|
31 |
+
->addAttributeToSelect('type_id');
|
32 |
+
$collection->addAttributeToFilter('entity_id', array('in' => $this->getProduct()));
|
33 |
+
|
34 |
+
foreach ($this->getAttrArray() as $attr){
|
35 |
+
$collection->addAttributeToSelect($attr);
|
36 |
+
}
|
37 |
+
if ($store->getId()) {
|
38 |
+
//$collection->setStoreId($store->getId());
|
39 |
+
$adminStore = Mage_Core_Model_App::ADMIN_STORE_ID;
|
40 |
+
$collection->addStoreFilter($store);
|
41 |
+
$collection->joinAttribute(
|
42 |
+
'name',
|
43 |
+
'catalog_product/name',
|
44 |
+
'entity_id',
|
45 |
+
null,
|
46 |
+
'inner',
|
47 |
+
$adminStore
|
48 |
+
);
|
49 |
+
$collection->joinAttribute(
|
50 |
+
'status',
|
51 |
+
'catalog_product/status',
|
52 |
+
'entity_id',
|
53 |
+
null,
|
54 |
+
'inner',
|
55 |
+
$store->getId()
|
56 |
+
);
|
57 |
+
$collection->joinAttribute(
|
58 |
+
'visibility',
|
59 |
+
'catalog_product/visibility',
|
60 |
+
'entity_id',
|
61 |
+
null,
|
62 |
+
'inner',
|
63 |
+
$store->getId()
|
64 |
+
);
|
65 |
+
}
|
66 |
+
else {
|
67 |
+
$collection->joinAttribute('status', 'catalog_product/status', 'entity_id', null, 'inner');
|
68 |
+
$collection->joinAttribute('visibility', 'catalog_product/visibility', 'entity_id', null, 'inner');
|
69 |
+
}
|
70 |
+
|
71 |
+
$this->setCollection($collection);
|
72 |
+
|
73 |
+
parent::_prepareCollection();
|
74 |
+
$this->getCollection()->addWebsiteNamesToResult();
|
75 |
+
return $this;
|
76 |
+
}
|
77 |
+
|
78 |
+
protected function _addColumnFilterToCollection($column)
|
79 |
+
{
|
80 |
+
if ($this->getCollection()) {
|
81 |
+
if ($column->getId() == 'websites') {
|
82 |
+
$this->getCollection()->joinField('websites',
|
83 |
+
'catalog/product_website',
|
84 |
+
'website_id',
|
85 |
+
'product_id=entity_id',
|
86 |
+
null,
|
87 |
+
'left');
|
88 |
+
}
|
89 |
+
}
|
90 |
+
return parent::_addColumnFilterToCollection($column);
|
91 |
+
}
|
92 |
+
|
93 |
+
protected function _prepareColumns()
|
94 |
+
{
|
95 |
+
|
96 |
+
$this->addColumn('entity_id',
|
97 |
+
array(
|
98 |
+
'header'=> Mage::helper('catalog')->__('ID'),
|
99 |
+
'width' => '50px',
|
100 |
+
'type' => 'number',
|
101 |
+
'index' => 'entity_id',
|
102 |
+
'filter' => false,
|
103 |
+
));
|
104 |
+
|
105 |
+
if (in_array('name',$this->getAttrArray())) {
|
106 |
+
$this->addColumn('name',
|
107 |
+
array(
|
108 |
+
'header' => Mage::helper('catalog')->__('Name to translate'),
|
109 |
+
'index' => 'name',
|
110 |
+
'filter' => false,
|
111 |
+
));
|
112 |
+
}
|
113 |
+
else{
|
114 |
+
$this->addColumn('name',
|
115 |
+
array(
|
116 |
+
'header' => Mage::helper('catalog')->__('Name'),
|
117 |
+
'index' => 'name',
|
118 |
+
'filter' => false,
|
119 |
+
));
|
120 |
+
}
|
121 |
+
|
122 |
+
foreach ($this->getAttrArray() as $attr){
|
123 |
+
if ($attr!='name') {
|
124 |
+
$attrModel = Mage::getModel('eav/entity_attribute')->loadByCode(4, $attr);
|
125 |
+
$this->addColumn($attr,
|
126 |
+
array(
|
127 |
+
'header' => Mage::helper('catalog')->__($attrModel->getFrontendLabel()) .' to Translate',
|
128 |
+
'index' => $attr,
|
129 |
+
'filter' => false,
|
130 |
+
));
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
return parent::_prepareColumns();
|
135 |
+
}
|
136 |
+
|
137 |
+
public function getGridUrl()
|
138 |
+
{
|
139 |
+
return $this->getUrl('*/*/addtoconfirm', array('_current'=>true));
|
140 |
+
}
|
141 |
+
|
142 |
+
public function getRowUrl($row)
|
143 |
+
{
|
144 |
+
return '';
|
145 |
+
}
|
146 |
+
|
147 |
+
public function getAttrArray(){
|
148 |
+
return explode(',', $this->getAttr());
|
149 |
+
}
|
150 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Products.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Products extends Mage_Adminhtml_Block_Widget_Container
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
public function __construct()
|
8 |
+
{
|
9 |
+
parent::__construct();
|
10 |
+
$this->setTemplate('straker/new/products.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Prepare button and grid
|
15 |
+
*
|
16 |
+
* @return Mage_Adminhtml_Block_Catalog_Product
|
17 |
+
*/
|
18 |
+
protected function _prepareLayout()
|
19 |
+
{
|
20 |
+
// $this->_addButton('add_new', array(
|
21 |
+
// 'label' => Mage::helper('catalog')->__('Add Product'),
|
22 |
+
// 'onclick' => "setLocation('{$this->getUrl('*/*/new')}')",
|
23 |
+
// 'class' => 'add'
|
24 |
+
// ));
|
25 |
+
|
26 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_products_grid', 'product.grid', array('setup_store_id' => $this->getSetupStoreId(), 'attr' => $this->getAttr())));
|
27 |
+
return parent::_prepareLayout();
|
28 |
+
}
|
29 |
+
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Render grid
|
33 |
+
*
|
34 |
+
* @return string
|
35 |
+
*/
|
36 |
+
public function getGridHtml()
|
37 |
+
{
|
38 |
+
return $this->getChildHtml('grid');
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Check whether it is single store mode
|
43 |
+
*
|
44 |
+
* @return bool
|
45 |
+
*/
|
46 |
+
public function isSingleStoreMode()
|
47 |
+
{
|
48 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
49 |
+
return false;
|
50 |
+
}
|
51 |
+
return true;
|
52 |
+
}
|
53 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Products/Attribute.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Products_Attribute extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
private static $_excludeAttributes = array(
|
5 |
+
'name',
|
6 |
+
'short_description',
|
7 |
+
'description',
|
8 |
+
'meta_title',
|
9 |
+
'meta_description',
|
10 |
+
'meta_keyword',
|
11 |
+
'image_label',
|
12 |
+
'small_image_label',
|
13 |
+
'thumbnail_label',
|
14 |
+
'url_path',
|
15 |
+
'custom_layout_update',
|
16 |
+
'email_template',
|
17 |
+
'url_key'
|
18 |
+
);
|
19 |
+
|
20 |
+
protected function _beforeToHtml(){
|
21 |
+
$this->setTemplate('straker/new/products/attributes.phtml');
|
22 |
+
}
|
23 |
+
|
24 |
+
public function getAttributes(){
|
25 |
+
$attributes = Mage::getResourceModel('eav/entity_attribute_collection')
|
26 |
+
->setEntityTypeFilter(4)
|
27 |
+
->addFieldToFilter('backend_type', array('in' => array('varchar', 'text')))
|
28 |
+
->setFrontendInputTypeFilter(array('in' => array('text', 'textarea')))
|
29 |
+
->addFieldToFilter('attribute_code', array('nin' => self::$_excludeAttributes));
|
30 |
+
return $attributes;
|
31 |
+
}
|
32 |
+
|
33 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Products/Confirm.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Products_Confirm extends Mage_Adminhtml_Block_Widget_Container
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
public function __construct()
|
8 |
+
{
|
9 |
+
parent::__construct();
|
10 |
+
$this->setTemplate('straker/new/products/confirm.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Prepare button and grid
|
15 |
+
*
|
16 |
+
* @return Mage_Adminhtml_Block_Catalog_Product
|
17 |
+
*/
|
18 |
+
protected function _prepareLayout()
|
19 |
+
{
|
20 |
+
$this->_addButton('submit', array(
|
21 |
+
'label' => Mage::helper('catalog')->__('Submit'),
|
22 |
+
'onclick' => "$('submit-new-job-form').submit();",
|
23 |
+
'class' => 'task'
|
24 |
+
));
|
25 |
+
|
26 |
+
$this->setChild('grid', $this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_products_confirm_grid', 'product.grid', array('store' => $this->getStore(), 'attr' => $this->getAttr(), 'product' => $this->getProduct())));
|
27 |
+
return parent::_prepareLayout();
|
28 |
+
}
|
29 |
+
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Render grid
|
33 |
+
*
|
34 |
+
* @return string
|
35 |
+
*/
|
36 |
+
public function getGridHtml()
|
37 |
+
{
|
38 |
+
return $this->getChildHtml('grid');
|
39 |
+
}
|
40 |
+
|
41 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Products/Confirm/Grid.php
ADDED
@@ -0,0 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Products_Confirm_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
$this->setId('strakerProducts');
|
9 |
+
$this->setDefaultSort('entity_id');
|
10 |
+
$this->setDefaultDir('DESC');
|
11 |
+
$this->setSaveParametersInSession(true);
|
12 |
+
$this->setUseAjax(false);
|
13 |
+
$this->setVarNameFilter('product_filter');
|
14 |
+
}
|
15 |
+
|
16 |
+
protected function _getStore()
|
17 |
+
{
|
18 |
+
$storeId = (int) $this->getRequest()->getParam('store', 0);
|
19 |
+
return Mage::app()->getStore($storeId);
|
20 |
+
}
|
21 |
+
protected function _prepareLayout()
|
22 |
+
{
|
23 |
+
return $this;
|
24 |
+
}
|
25 |
+
protected function _prepareCollection()
|
26 |
+
{
|
27 |
+
$store = $this->_getStore();
|
28 |
+
$collection = Mage::getModel('catalog/product')->getCollection()
|
29 |
+
->addAttributeToSelect('sku')
|
30 |
+
->addAttributeToSelect('name')
|
31 |
+
->addAttributeToSelect('type_id');
|
32 |
+
$collection->addAttributeToFilter('entity_id', array('in' => $this->getProduct()));
|
33 |
+
|
34 |
+
foreach ($this->getAttrArray() as $attr){
|
35 |
+
$collection->addAttributeToSelect($attr);
|
36 |
+
}
|
37 |
+
if ($store->getId()) {
|
38 |
+
//$collection->setStoreId($store->getId());
|
39 |
+
$adminStore = Mage_Core_Model_App::ADMIN_STORE_ID;
|
40 |
+
$collection->addStoreFilter($store);
|
41 |
+
$collection->joinAttribute(
|
42 |
+
'name',
|
43 |
+
'catalog_product/name',
|
44 |
+
'entity_id',
|
45 |
+
null,
|
46 |
+
'inner',
|
47 |
+
$adminStore
|
48 |
+
);
|
49 |
+
$collection->joinAttribute(
|
50 |
+
'status',
|
51 |
+
'catalog_product/status',
|
52 |
+
'entity_id',
|
53 |
+
null,
|
54 |
+
'inner',
|
55 |
+
$store->getId()
|
56 |
+
);
|
57 |
+
$collection->joinAttribute(
|
58 |
+
'visibility',
|
59 |
+
'catalog_product/visibility',
|
60 |
+
'entity_id',
|
61 |
+
null,
|
62 |
+
'inner',
|
63 |
+
$store->getId()
|
64 |
+
);
|
65 |
+
}
|
66 |
+
else {
|
67 |
+
$collection->joinAttribute('status', 'catalog_product/status', 'entity_id', null, 'inner');
|
68 |
+
$collection->joinAttribute('visibility', 'catalog_product/visibility', 'entity_id', null, 'inner');
|
69 |
+
}
|
70 |
+
|
71 |
+
$this->setCollection($collection);
|
72 |
+
|
73 |
+
parent::_prepareCollection();
|
74 |
+
$this->getCollection()->addWebsiteNamesToResult();
|
75 |
+
return $this;
|
76 |
+
}
|
77 |
+
|
78 |
+
protected function _addColumnFilterToCollection($column)
|
79 |
+
{
|
80 |
+
if ($this->getCollection()) {
|
81 |
+
if ($column->getId() == 'websites') {
|
82 |
+
$this->getCollection()->joinField('websites',
|
83 |
+
'catalog/product_website',
|
84 |
+
'website_id',
|
85 |
+
'product_id=entity_id',
|
86 |
+
null,
|
87 |
+
'left');
|
88 |
+
}
|
89 |
+
}
|
90 |
+
return parent::_addColumnFilterToCollection($column);
|
91 |
+
}
|
92 |
+
|
93 |
+
protected function _prepareColumns()
|
94 |
+
{
|
95 |
+
|
96 |
+
$this->addColumn('entity_id',
|
97 |
+
array(
|
98 |
+
'header'=> Mage::helper('catalog')->__('ID'),
|
99 |
+
'width' => '50px',
|
100 |
+
'type' => 'number',
|
101 |
+
'index' => 'entity_id',
|
102 |
+
'filter' => false,
|
103 |
+
));
|
104 |
+
|
105 |
+
if (in_array('name',$this->getAttrArray())) {
|
106 |
+
$this->addColumn('name',
|
107 |
+
array(
|
108 |
+
'header' => Mage::helper('catalog')->__('Name to Translate'),
|
109 |
+
'index' => 'name',
|
110 |
+
'filter' => false,
|
111 |
+
));
|
112 |
+
}
|
113 |
+
else{
|
114 |
+
$this->addColumn('name',
|
115 |
+
array(
|
116 |
+
'header' => Mage::helper('catalog')->__('Name'),
|
117 |
+
'index' => 'name',
|
118 |
+
'filter' => false,
|
119 |
+
));
|
120 |
+
}
|
121 |
+
|
122 |
+
foreach ($this->getAttrArray() as $attr){
|
123 |
+
if ($attr!='name') {
|
124 |
+
$attrModel = Mage::getModel('eav/entity_attribute')->loadByCode(4, $attr);
|
125 |
+
$this->addColumn($attr,
|
126 |
+
array(
|
127 |
+
'header' => Mage::helper('catalog')->__($attrModel->getFrontendLabel()) .' to Translate',
|
128 |
+
'index' => $attr,
|
129 |
+
'filter' => false,
|
130 |
+
));
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
return parent::_prepareColumns();
|
135 |
+
}
|
136 |
+
|
137 |
+
public function getGridUrl()
|
138 |
+
{
|
139 |
+
return $this->getUrl('*/*/addtoconfirm', array('_current'=>true));
|
140 |
+
}
|
141 |
+
|
142 |
+
public function getRowUrl($row)
|
143 |
+
{
|
144 |
+
return '';
|
145 |
+
}
|
146 |
+
|
147 |
+
public function getAttrArray(){
|
148 |
+
return explode(',', $this->getAttr());
|
149 |
+
}
|
150 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Products/Grid.php
ADDED
@@ -0,0 +1,277 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Products_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
$this->setId('strakerProducts');
|
9 |
+
$this->setDefaultSort('entity_id');
|
10 |
+
$this->setDefaultDir('DESC');
|
11 |
+
$this->setSaveParametersInSession(true);
|
12 |
+
$this->setUseAjax(false);
|
13 |
+
$this->setVarNameFilter('product_filter');
|
14 |
+
}
|
15 |
+
|
16 |
+
protected function _getStore()
|
17 |
+
{
|
18 |
+
$storeId = (int) $this->getRequest()->getParam('store', 0);
|
19 |
+
return Mage::app()->getStore($storeId);
|
20 |
+
}
|
21 |
+
|
22 |
+
protected function _prepareCollection()
|
23 |
+
{
|
24 |
+
$store = $this->_getStore();
|
25 |
+
/** @var Mage_Catalog_Model_Resource_Product_Collection $collection */
|
26 |
+
$collection = Mage::getModel('catalog/product')->getCollection()
|
27 |
+
->addAttributeToSelect('sku')
|
28 |
+
->addAttributeToSelect('name')
|
29 |
+
->addAttributeToSelect('type_id');
|
30 |
+
|
31 |
+
foreach ($this->getAttrArray() as $attr){
|
32 |
+
$collection->addAttributeToSelect($attr);
|
33 |
+
}
|
34 |
+
if ($store->getId()) {
|
35 |
+
//$collection->setStoreId($store->getId());
|
36 |
+
$adminStore = Mage_Core_Model_App::ADMIN_STORE_ID;
|
37 |
+
$collection->addStoreFilter($store);
|
38 |
+
$collection->joinAttribute(
|
39 |
+
'name',
|
40 |
+
'catalog_product/name',
|
41 |
+
'entity_id',
|
42 |
+
null,
|
43 |
+
'inner',
|
44 |
+
$adminStore
|
45 |
+
);
|
46 |
+
$collection->joinAttribute(
|
47 |
+
'status',
|
48 |
+
'catalog_product/status',
|
49 |
+
'entity_id',
|
50 |
+
null,
|
51 |
+
'inner',
|
52 |
+
$store->getId()
|
53 |
+
);
|
54 |
+
$collection->joinAttribute(
|
55 |
+
'visibility',
|
56 |
+
'catalog_product/visibility',
|
57 |
+
'entity_id',
|
58 |
+
null,
|
59 |
+
'inner',
|
60 |
+
$store->getId()
|
61 |
+
);
|
62 |
+
}
|
63 |
+
else {
|
64 |
+
$collection->joinAttribute('status', 'catalog_product/status', 'entity_id', null, 'inner');
|
65 |
+
$collection->joinAttribute('visibility', 'catalog_product/visibility', 'entity_id', null, 'inner');
|
66 |
+
}
|
67 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
68 |
+
// $jobProductQuery = 'select a.`version`, a.`product_id` from `'.$prefix.'straker_job_product` as a
|
69 |
+
// left join `'.$prefix.'straker_job` as b on a.`job_id`=b.`id`
|
70 |
+
// where b.`store_id` = '.$store->getId().' and a.`version` =1
|
71 |
+
// GROUP BY a.`product_id`';
|
72 |
+
|
73 |
+
//join straker job product table to get version for each product
|
74 |
+
// $collection->getSelect()->joinLeft(
|
75 |
+
//
|
76 |
+
// new Zend_Db_Expr('('.$jobProductQuery.')'),
|
77 |
+
// 'e.entity_id = t.product_id',
|
78 |
+
// array('version')
|
79 |
+
//
|
80 |
+
// );
|
81 |
+
/** @var StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Product_Collection $strakerJobProductCollection */
|
82 |
+
$strakerJobProductCollection = Mage::getModel('strakertranslations_easytranslationplatform/job_product')->getCollection();
|
83 |
+
$strakerJobProductCollection->getSelect()
|
84 |
+
->reset(Zend_Db_Select::COLUMNS)
|
85 |
+
->joinLeft(
|
86 |
+
['b' => $collection->getTable('strakertranslations_easytranslationplatform/job')],
|
87 |
+
'`main_table`.`job_id` = `b`.`id`',
|
88 |
+
[]
|
89 |
+
)->where(
|
90 |
+
'`b`.`store_id` = ?', $store->getId()
|
91 |
+
)->where(
|
92 |
+
'`main_table`.`version` = ?', 1
|
93 |
+
)->group(
|
94 |
+
'main_table.product_id'
|
95 |
+
)->columns(
|
96 |
+
['version' => 'version', 'product_id' => 'product_id']
|
97 |
+
);
|
98 |
+
$jobProductQuery = $strakerJobProductCollection->getSelect();
|
99 |
+
$collection->getSelect()->joinLeft(
|
100 |
+
$jobProductQuery,
|
101 |
+
'e.entity_id = t.product_id',
|
102 |
+
array('version')
|
103 |
+
);
|
104 |
+
|
105 |
+
$this->setCollection($collection);
|
106 |
+
|
107 |
+
parent::_prepareCollection();
|
108 |
+
$this->getCollection()->addWebsiteNamesToResult();
|
109 |
+
return $this;
|
110 |
+
}
|
111 |
+
|
112 |
+
protected function _addColumnFilterToCollection($column)
|
113 |
+
{
|
114 |
+
if ($this->getCollection()) {
|
115 |
+
if ($column->getId() == 'websites') {
|
116 |
+
$this->getCollection()->joinField('websites',
|
117 |
+
'catalog/product_website',
|
118 |
+
'website_id',
|
119 |
+
'product_id=entity_id',
|
120 |
+
null,
|
121 |
+
'left');
|
122 |
+
}
|
123 |
+
//
|
124 |
+
// if ($column->getId() == 'version') {
|
125 |
+
// $this->getCollection()->joinField('version',
|
126 |
+
// 'straker_job_product',
|
127 |
+
// 'version',
|
128 |
+
// 'product_id=entity_id',
|
129 |
+
// null,
|
130 |
+
// 'left');
|
131 |
+
// }
|
132 |
+
|
133 |
+
}
|
134 |
+
return parent::_addColumnFilterToCollection($column);
|
135 |
+
}
|
136 |
+
|
137 |
+
protected function _prepareColumns()
|
138 |
+
{
|
139 |
+
$this->addColumn('entity_id',
|
140 |
+
array(
|
141 |
+
'header'=> Mage::helper('catalog')->__('ID'),
|
142 |
+
'width' => '50px',
|
143 |
+
'type' => 'number',
|
144 |
+
'index' => 'entity_id',
|
145 |
+
));
|
146 |
+
if (in_array('name',$this->getAttrArray())) {
|
147 |
+
$this->addColumn('name',
|
148 |
+
array(
|
149 |
+
'header' => Mage::helper('catalog')->__('Name to Translate'),
|
150 |
+
'index' => 'name',
|
151 |
+
));
|
152 |
+
}
|
153 |
+
else{
|
154 |
+
$this->addColumn('name',
|
155 |
+
array(
|
156 |
+
'header' => Mage::helper('catalog')->__('Name'),
|
157 |
+
'index' => 'name',
|
158 |
+
));
|
159 |
+
}
|
160 |
+
foreach ($this->getAttrArray() as $attr){
|
161 |
+
if ($attr!='name') {
|
162 |
+
$attrModel = Mage::getModel('eav/entity_attribute')->loadByCode(4, $attr);
|
163 |
+
$this->addColumn($attr,
|
164 |
+
array(
|
165 |
+
'header' => Mage::helper('catalog')->__($attrModel->getFrontendLabel()).' To Translate',
|
166 |
+
'index' => $attr,
|
167 |
+
));
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
+
$this->addColumn('type',
|
172 |
+
array(
|
173 |
+
'header'=> Mage::helper('catalog')->__('Type'),
|
174 |
+
'width' => '60px',
|
175 |
+
'index' => 'type_id',
|
176 |
+
'type' => 'options',
|
177 |
+
'options' => Mage::getSingleton('catalog/product_type')->getOptionArray(),
|
178 |
+
));
|
179 |
+
$this->addColumn('visibility',
|
180 |
+
array(
|
181 |
+
'header'=> Mage::helper('catalog')->__('Visibility'),
|
182 |
+
'width' => '70px',
|
183 |
+
'index' => 'visibility',
|
184 |
+
'type' => 'options',
|
185 |
+
'options' => Mage::getModel('catalog/product_visibility')->getOptionArray(),
|
186 |
+
));
|
187 |
+
|
188 |
+
$this->addColumn('status',
|
189 |
+
array(
|
190 |
+
'header'=> Mage::helper('catalog')->__('Status'),
|
191 |
+
'width' => '70px',
|
192 |
+
'index' => 'status',
|
193 |
+
'type' => 'options',
|
194 |
+
'options' => Mage::getSingleton('catalog/product_status')->getOptionArray(),
|
195 |
+
));
|
196 |
+
|
197 |
+
$this->addColumn('version',
|
198 |
+
array(
|
199 |
+
'header'=> Mage::helper('catalog')->__('Translated'),
|
200 |
+
'width' => '70px',
|
201 |
+
'index' => 'version',
|
202 |
+
'type' => 'options',
|
203 |
+
'options' => array(
|
204 |
+
'Translated' => Mage::helper('catalog')->__('Translated'),
|
205 |
+
'Not Translated' => Mage::helper('catalog')->__('Not Translated')
|
206 |
+
),
|
207 |
+
'renderer' => 'StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Translated',
|
208 |
+
'filter_condition_callback' => array($this, '_versionFilter'),
|
209 |
+
));
|
210 |
+
|
211 |
+
if (!Mage::app()->isSingleStoreMode()) {
|
212 |
+
$this->addColumn('websites',
|
213 |
+
array(
|
214 |
+
'header'=> Mage::helper('catalog')->__('Websites'),
|
215 |
+
'width' => '100px',
|
216 |
+
'sortable' => false,
|
217 |
+
'index' => 'websites',
|
218 |
+
'type' => 'options',
|
219 |
+
'options' => Mage::getModel('core/website')->getCollection()->toOptionHash(),
|
220 |
+
));
|
221 |
+
}
|
222 |
+
|
223 |
+
return parent::_prepareColumns();
|
224 |
+
}
|
225 |
+
|
226 |
+
protected function _versionFilter($collection, $column)
|
227 |
+
{
|
228 |
+
if (!$value = $column->getFilter()->getValue()) {
|
229 |
+
return $this;
|
230 |
+
}
|
231 |
+
|
232 |
+
if ($value == 'Translated' ){
|
233 |
+
$this->getCollection()->getSelect()->where('t.version is not null');
|
234 |
+
|
235 |
+
} elseif ($value == 'Not Translated'){
|
236 |
+
$this->getCollection()->getSelect()->where('t.version is null');
|
237 |
+
}
|
238 |
+
|
239 |
+
return $this;
|
240 |
+
}
|
241 |
+
|
242 |
+
protected function _prepareMassaction()
|
243 |
+
{
|
244 |
+
$this->setMassactionIdField('entity_id');
|
245 |
+
$this->getMassactionBlock()->setFormFieldName('product');
|
246 |
+
|
247 |
+
$this->getMassactionBlock()->addItem('add', array(
|
248 |
+
'label'=> Mage::helper('catalog')->__('Add to Confirm Page'),
|
249 |
+
'url' => $this->getUrl('*/*/addtoconfirm'),
|
250 |
+
'selected' => 1
|
251 |
+
));
|
252 |
+
$this->getMassactionBlock()->setTemplate('straker/new/products/massaction.phtml');
|
253 |
+
|
254 |
+
//todo: refine this
|
255 |
+
$hiddenParams = '<input type="hidden" name="store" value="'.$this->_getStore()->getId().'" />';
|
256 |
+
$hiddenParams .= '<input type="hidden" name="attr" value="'.$this->getAttr().'" />';
|
257 |
+
$this->getMassactionBlock()->setHiddenParams($hiddenParams);
|
258 |
+
|
259 |
+
|
260 |
+
Mage::dispatchEvent('adminhtml_strakertranslation_new_products_grid_prepare_massaction', array('block' => $this));
|
261 |
+
return $this;
|
262 |
+
}
|
263 |
+
|
264 |
+
public function getGridUrl()
|
265 |
+
{
|
266 |
+
return $this->getUrl('*/*/new', array('_current'=>true));
|
267 |
+
}
|
268 |
+
|
269 |
+
public function getRowUrl($row)
|
270 |
+
{
|
271 |
+
return '';
|
272 |
+
}
|
273 |
+
|
274 |
+
public function getAttrArray(){
|
275 |
+
return explode(',', $this->getAttr());
|
276 |
+
}
|
277 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Register.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Register extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
protected $_countires;
|
5 |
+
|
6 |
+
protected function _beforeToHtml(){
|
7 |
+
$this->setTemplate('straker/new/register.phtml');
|
8 |
+
}
|
9 |
+
|
10 |
+
public function renderWelcomeIframe(){
|
11 |
+
// return '<div id="white-iframe" style="background: white; border: 5px solid black; min-height: 200px; padding:20px; margin-bottom: 20px;">
|
12 |
+
// <h3>First time iFrame provided by Straker</h3>
|
13 |
+
// </div>';
|
14 |
+
return '<div class="magento-banner-wrap"><img src="/skin/adminhtml/default/straker/images/magento-banner.jpg"></div>';
|
15 |
+
}
|
16 |
+
|
17 |
+
public function renderCountriesSelect($name){
|
18 |
+
if (!$this->_countires) {
|
19 |
+
$this->_countires = Mage::getModel('strakertranslations_easytranslationplatform/api')->getCountries();
|
20 |
+
}
|
21 |
+
$html = '<select class="validate-select" name="'.$name.'">';
|
22 |
+
$html .= '<option value="">' . $this->__('Select a country') . '</option>';
|
23 |
+
if ($this->_countires) {
|
24 |
+
foreach ($this->_countires as $country) {
|
25 |
+
$html .= '<option value="' . $country->code . '">' . $country->name . '</option>';
|
26 |
+
}
|
27 |
+
}
|
28 |
+
$html .= '</select>';
|
29 |
+
return $html;
|
30 |
+
}
|
31 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Selectstore.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Selectstore extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
protected function _beforeToHtml(){
|
4 |
+
$this->setTemplate('straker/new/selectstore.phtml');
|
5 |
+
}
|
6 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Setupstore.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Setupstore extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
protected $_languages;
|
5 |
+
|
6 |
+
protected function _beforeToHtml(){
|
7 |
+
$this->setTemplate('straker/new/setupstore.phtml');
|
8 |
+
}
|
9 |
+
|
10 |
+
public function renderLanguageSelect($name){
|
11 |
+
if (!$this->_languages) {
|
12 |
+
$this->_languages = Mage::getModel('strakertranslations_easytranslationplatform/api', array('store' => $this->getSetupStoreId()))->getLanguages();
|
13 |
+
}
|
14 |
+
$html = '<select class="validate-select" name="'.$name.'">';
|
15 |
+
$html .= '<option value="">' . $this->__('Select a language') . '</option>';
|
16 |
+
if ($this->_languages) {
|
17 |
+
foreach ($this->_languages as $language) {
|
18 |
+
$html .= '<option value="' . $language->code . '">' . $language->name . '</option>';
|
19 |
+
}
|
20 |
+
}
|
21 |
+
$html .= '</select>';
|
22 |
+
return $html;
|
23 |
+
}
|
24 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/New/Type.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_New_Type extends Mage_Adminhtml_Block_Widget_Container{
|
3 |
+
|
4 |
+
protected $_languages;
|
5 |
+
|
6 |
+
protected function _beforeToHtml(){
|
7 |
+
$this->setTemplate('straker/new/type.phtml');
|
8 |
+
}
|
9 |
+
|
10 |
+
public function renderTypes(){
|
11 |
+
$storeId = $this->getRequest()->getParam('store');
|
12 |
+
$types = Mage::getModel('strakertranslations_easytranslationplatform/job_type')->getCollection();
|
13 |
+
$html = '';
|
14 |
+
foreach ($types as $type){
|
15 |
+
$html .= '<div><a class="job-type-btn" href="' . Mage::helper("adminhtml")->getUrl("adminhtml/straker_".str_replace(' ','_',strtolower($type->getTypeName()))."/new", array("store" => $storeId)) . '">' . $type->getTypeName() . '</a></div>';
|
16 |
+
|
17 |
+
}
|
18 |
+
return $html;
|
19 |
+
}
|
20 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/System/Config/Form/Backupbutton.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_System_Config_Form_BackupButton extends Mage_Adminhtml_Block_System_Config_Form_Field
|
3 |
+
{
|
4 |
+
/*
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
protected function _construct()
|
8 |
+
{
|
9 |
+
parent::_construct();
|
10 |
+
$this->setTemplate('straker/system/config/button.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Return element html
|
15 |
+
*
|
16 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
17 |
+
* @return string
|
18 |
+
*/
|
19 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
20 |
+
{
|
21 |
+
return $this->_toHtml();
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Return ajax url for button
|
26 |
+
*
|
27 |
+
* @return string
|
28 |
+
*/
|
29 |
+
public function getAjaxCheckUrl()
|
30 |
+
{
|
31 |
+
return Mage::helper('adminhtml')->getUrl('adminhtml/adminhtml_atwixtweaks/check');
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Generate button html
|
36 |
+
*
|
37 |
+
* @return string
|
38 |
+
*/
|
39 |
+
public function getButtonHtml()
|
40 |
+
{
|
41 |
+
$button = $this->getLayout()->createBlock('adminhtml/widget_button')
|
42 |
+
->setData(array(
|
43 |
+
'id' => 'straker_clear_button',
|
44 |
+
'label' => $this->helper('adminhtml')->__('Backup Product Data'),
|
45 |
+
'onclick' => 'setLocation(\''.Mage::helper('adminhtml')->getUrl('adminhtml/straker_new/copyProdcutTable').'\');'
|
46 |
+
));
|
47 |
+
|
48 |
+
return $button->toHtml();
|
49 |
+
}
|
50 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/System/Config/Form/Button.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_System_Config_Form_Button extends Mage_Adminhtml_Block_System_Config_Form_Field
|
3 |
+
{
|
4 |
+
/*
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
protected function _construct()
|
8 |
+
{
|
9 |
+
parent::_construct();
|
10 |
+
$this->setTemplate('straker/system/config/button.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Return element html
|
15 |
+
*
|
16 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
17 |
+
* @return string
|
18 |
+
*/
|
19 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
20 |
+
{
|
21 |
+
return $this->_toHtml();
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Return ajax url for button
|
26 |
+
*
|
27 |
+
* @return string
|
28 |
+
*/
|
29 |
+
public function getAjaxCheckUrl()
|
30 |
+
{
|
31 |
+
return Mage::helper('adminhtml')->getUrl('adminhtml/adminhtml_atwixtweaks/check');
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Generate button html
|
36 |
+
*
|
37 |
+
* @return string
|
38 |
+
*/
|
39 |
+
public function getButtonHtml()
|
40 |
+
{
|
41 |
+
$button = $this->getLayout()->createBlock('adminhtml/widget_button')
|
42 |
+
->setData(array(
|
43 |
+
'id' => 'straker_clear_button',
|
44 |
+
'label' => $this->helper('adminhtml')->__('Clear All Language Settings'),
|
45 |
+
'onclick' => 'setLocation(\''.Mage::helper('adminhtml')->getUrl('adminhtml/straker_new/clearSettings').'\');'
|
46 |
+
));
|
47 |
+
|
48 |
+
return $button->toHtml();
|
49 |
+
}
|
50 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/System/Config/Form/Restorebutton.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_System_Config_Form_RestoreButton extends Mage_Adminhtml_Block_System_Config_Form_Field
|
3 |
+
{
|
4 |
+
/*
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
protected function _construct()
|
8 |
+
{
|
9 |
+
parent::_construct();
|
10 |
+
$this->setTemplate('straker/system/config/button.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Return element html
|
15 |
+
*
|
16 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
17 |
+
* @return string
|
18 |
+
*/
|
19 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
20 |
+
{
|
21 |
+
return $this->_toHtml();
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Return ajax url for button
|
26 |
+
*
|
27 |
+
* @return string
|
28 |
+
*/
|
29 |
+
public function getAjaxCheckUrl()
|
30 |
+
{
|
31 |
+
return Mage::helper('adminhtml')->getUrl('adminhtml/adminhtml_atwixtweaks/check');
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Generate button html
|
36 |
+
*
|
37 |
+
* @return string
|
38 |
+
*/
|
39 |
+
public function getButtonHtml()
|
40 |
+
{
|
41 |
+
$button = $this->getLayout()->createBlock('adminhtml/widget_button')
|
42 |
+
->setData(array(
|
43 |
+
'id' => 'straker_clear_button',
|
44 |
+
'label' => $this->helper('adminhtml')->__('Restore Product Data'),
|
45 |
+
'onclick' => 'setLocation(\''.Mage::helper('adminhtml')->getUrl('adminhtml/straker_new/restoreProdcutTable').'\');'
|
46 |
+
));
|
47 |
+
|
48 |
+
return $button->toHtml();
|
49 |
+
}
|
50 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/System/Config/Form/Store.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_System_Config_Form_Store extends Mage_Adminhtml_Block_System_Config_Form_Field
|
3 |
+
{
|
4 |
+
/*
|
5 |
+
* Set template
|
6 |
+
*/
|
7 |
+
protected function _construct()
|
8 |
+
{
|
9 |
+
parent::_construct();
|
10 |
+
$this->setTemplate('straker/system/config/store.phtml');
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Return element html
|
15 |
+
*
|
16 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
17 |
+
* @return string
|
18 |
+
*/
|
19 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
20 |
+
{
|
21 |
+
return $this->_toHtml();
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Generate button html
|
26 |
+
*
|
27 |
+
* @return string
|
28 |
+
*/
|
29 |
+
public function getClearStoreButtonHtml($store)
|
30 |
+
{
|
31 |
+
if ($store->getId() && Mage::helper('strakertranslations_easytranslationplatform')->getStoreSetup($store->getId())) {
|
32 |
+
$button = $this->getLayout()->createBlock('adminhtml/widget_button')
|
33 |
+
->setData(array(
|
34 |
+
'id' => 'straker_clear_store_button_' . $store->getCode(),
|
35 |
+
'label' => $this->helper('adminhtml')->__('Clear'),
|
36 |
+
'onclick' => 'setLocation(\'' . Mage::helper('adminhtml')->getUrl(
|
37 |
+
'adminhtml/straker_new/resetStoreSettings',
|
38 |
+
array('store' => $store->getId())
|
39 |
+
) . '\');'
|
40 |
+
));
|
41 |
+
return $button->toHtml();
|
42 |
+
}
|
43 |
+
else{
|
44 |
+
|
45 |
+
return '<div class="empty-button">'.$this->__('No language settings applied').'</div>';
|
46 |
+
}
|
47 |
+
}
|
48 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Action.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Action
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row)
|
6 |
+
{
|
7 |
+
if (get_class($row) == get_class(Mage::getModel('strakertranslations_easytranslationplatform/job'))) {
|
8 |
+
|
9 |
+
$buttonText = $row->getStatusId() == 4 ? $this->__('Confirm') : $this->__('View');
|
10 |
+
|
11 |
+
$out = '<button id="button-update-'.$row->getId().'" style="margin: 5px; display: block;" onclick="event.stopPropagation(); setLocation(\'' . Mage::helper("adminhtml")->getUrl("adminhtml/straker_".str_replace(' ', '_', strtolower($row->getTypeName())).'/', array('job_id' => $row->getId())) . '\')" title="View" type="button" style="">'.$buttonText.'</button>';
|
12 |
+
return $out;
|
13 |
+
}
|
14 |
+
}
|
15 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/AttributeOriginalLabel.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_AttributeOriginalLabel
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row){
|
6 |
+
$original = $this->xml2array(simplexml_load_string($row->getOriginal()));
|
7 |
+
|
8 |
+
return !empty($original['title']) ? $original['title'] : 'N/A';
|
9 |
+
}
|
10 |
+
|
11 |
+
public function xml2array ( $xmlObject, $out = array () )
|
12 |
+
{
|
13 |
+
foreach ( (array) $xmlObject as $index => $node )
|
14 |
+
$out[$index] = ( is_object ( $node ) ) ? $this->xml2array ( $node ) : $node;
|
15 |
+
|
16 |
+
return $out;
|
17 |
+
}
|
18 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/AttributeOriginalOption.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_AttributeOriginalOption
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
|
6 |
+
public function render(Varien_Object $row){
|
7 |
+
$original = $this->xml2array(simplexml_load_string($row->getOriginal()));
|
8 |
+
|
9 |
+
return !empty($original['option']) ? implode(', ', $original['option']) : 'N/A';
|
10 |
+
}
|
11 |
+
|
12 |
+
public function xml2array ( $xmlObject, $out = array () )
|
13 |
+
{
|
14 |
+
foreach ( (array) $xmlObject as $index => $node )
|
15 |
+
$out[$index] = ( is_object ( $node ) ) ? $this->xml2array ( $node ) : $node;
|
16 |
+
|
17 |
+
return $out;
|
18 |
+
}
|
19 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/AttributeTranslateLabel.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_AttributeTranslateLabel
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row){
|
6 |
+
$original = $this->xml2array(simplexml_load_string($row->getTranslate()));
|
7 |
+
|
8 |
+
return !empty($original['title']) ? $original['title'] : 'N/A';
|
9 |
+
}
|
10 |
+
|
11 |
+
public function xml2array ( $xmlObject, $out = array () )
|
12 |
+
{
|
13 |
+
foreach ( (array) $xmlObject as $index => $node )
|
14 |
+
$out[$index] = ( is_object ( $node ) ) ? $this->xml2array ( $node ) : $node;
|
15 |
+
|
16 |
+
return $out;
|
17 |
+
}
|
18 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/AttributeTranslateOption.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_AttributeTranslateOption
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
|
6 |
+
public function render(Varien_Object $row){
|
7 |
+
$original = $this->xml2array(simplexml_load_string($row->getTranslate()));
|
8 |
+
|
9 |
+
return !empty($original['option']) ? implode(', ', $original['option']) : 'N/A';
|
10 |
+
}
|
11 |
+
|
12 |
+
public function xml2array ( $xmlObject, $out = array () )
|
13 |
+
{
|
14 |
+
foreach ( (array) $xmlObject as $index => $node )
|
15 |
+
$out[$index] = ( is_object ( $node ) ) ? $this->xml2array ( $node ) : $node;
|
16 |
+
|
17 |
+
return $out;
|
18 |
+
}
|
19 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Backend.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Backend
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
protected $_storeId;
|
6 |
+
|
7 |
+
public function render(Varien_Object $row){
|
8 |
+
$html = '';
|
9 |
+
if(!$row->getVersion()){
|
10 |
+
$html .= '<p class="inactive">' . $this->__('View Product in Backend') . '</p>';
|
11 |
+
}
|
12 |
+
elseif ($row->getProductId()) {
|
13 |
+
$product = Mage::getModel('catalog/product')->load($row->getProductId());
|
14 |
+
$url = $this->getUrl('adminhtml/catalog_product/edit', array(
|
15 |
+
'store' => $this->getStoreId($row),
|
16 |
+
'id' => $product->getId())
|
17 |
+
);
|
18 |
+
$html .= '<a target="_blank" href="' . $url . '">' . $this->__('View Product in Backend') . '</a>';
|
19 |
+
}
|
20 |
+
elseif($row->getCategoryId()) {
|
21 |
+
$category = Mage::getModel('catalog/category')->load($row->getCategoryId());
|
22 |
+
$url = $this->getUrl('adminhtml/catalog_category/edit', array(
|
23 |
+
'store' => $this->getStoreId($row),
|
24 |
+
'id' => $category->getId())
|
25 |
+
);
|
26 |
+
$html .= '<a target="_blank" href="' . $url . '">' . $this->__('View Category in Backend') . '</a>';
|
27 |
+
}
|
28 |
+
return $html;
|
29 |
+
}
|
30 |
+
|
31 |
+
protected function getStoreId($row){
|
32 |
+
if (!$this->_storeId){
|
33 |
+
$this->_storeId = Mage::getModel('strakertranslations_easytranslationplatform/job')
|
34 |
+
->load($row->getjobId())
|
35 |
+
->getStoreId();
|
36 |
+
}
|
37 |
+
return $this->_storeId;
|
38 |
+
}
|
39 |
+
|
40 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/CmsOriginTitle.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_CmsOriginTitle
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row)
|
6 |
+
{
|
7 |
+
$origin = $row->getOrigin() ? json_decode($row->getOrigin(), true): array();
|
8 |
+
return $origin['title'] ? $origin['title']:'';
|
9 |
+
}
|
10 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/CmsVersion.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_CmsVersion
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row)
|
6 |
+
{
|
7 |
+
if($row->getVersion()){
|
8 |
+
if($row->getBlockId()){
|
9 |
+
$link = Mage::helper("adminhtml")->getUrl("adminhtml/cms_block/edit",array("block_id"=>$row->getNewEntityId()));
|
10 |
+
}
|
11 |
+
else{
|
12 |
+
$link = Mage::helper("adminhtml")->getUrl("adminhtml/cms_page/edit",array("page_id"=>$row->getNewEntityId()));
|
13 |
+
}
|
14 |
+
return '<a href="'.$link.'">View Published</a>';
|
15 |
+
}
|
16 |
+
else{
|
17 |
+
return 'Not Published';
|
18 |
+
}
|
19 |
+
}
|
20 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/ConfirmTranslateLabel.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_ConfirmTranslateLabel
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
protected $_storeId;
|
6 |
+
|
7 |
+
protected $_label;
|
8 |
+
|
9 |
+
public function render(Varien_Object $row){
|
10 |
+
$id = $row->getAttributeId();
|
11 |
+
$html = '<input disabled type="checkbox" name="option" value="' . $id . '" class="checkbox-option"';
|
12 |
+
if (in_array($id, $this->_getLabel())) {
|
13 |
+
$html .= ' checked="checked" >';
|
14 |
+
}
|
15 |
+
else{
|
16 |
+
$html .= ' >';
|
17 |
+
}
|
18 |
+
return $html;
|
19 |
+
}
|
20 |
+
|
21 |
+
protected function _getLabel(){
|
22 |
+
if(!$this->_label){
|
23 |
+
$this->_label = Mage::getSingleton('adminhtml/session')->getData('straker_new_attribute');
|
24 |
+
}
|
25 |
+
return $this->_label;
|
26 |
+
}
|
27 |
+
|
28 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/ConfirmTranslateOptions.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_ConfirmTranslateOptions
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
protected $_storeId;
|
6 |
+
|
7 |
+
protected $_option;
|
8 |
+
|
9 |
+
public function render(Varien_Object $row){
|
10 |
+
$id = $row->getAttributeId();
|
11 |
+
if ($row->getFrontendInput()=='select') {
|
12 |
+
$html = '<input disabled type="checkbox" name="option" value="' . $id . '" class="checkbox-option"';
|
13 |
+
if (in_array($id, $this->_getOption())) {
|
14 |
+
$html .= ' checked="checked" >';
|
15 |
+
}
|
16 |
+
else{
|
17 |
+
$html .= ' >';
|
18 |
+
}
|
19 |
+
}
|
20 |
+
else{
|
21 |
+
$html = 'N/A';
|
22 |
+
}
|
23 |
+
return $html;
|
24 |
+
}
|
25 |
+
|
26 |
+
protected function _getOption(){
|
27 |
+
if(!$this->_option){
|
28 |
+
$this->_option = explode(',' ,Mage::getSingleton('adminhtml/session')->getData('straker_new_option'));
|
29 |
+
}
|
30 |
+
return $this->_option;
|
31 |
+
}
|
32 |
+
|
33 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Dispute.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Dispute
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row){
|
6 |
+
$quotes = json_decode($row->getQuote(), true);
|
7 |
+
$html = '<button style="margin: 5px; display: block;" onclick="disputeForm.show(\''.$row->getJobId().'\',\''.$row->getProductId().'\')" title="Update" type="button" style=""><span><span><span>Dispute</span></span></span></button>';
|
8 |
+
return $html;
|
9 |
+
}
|
10 |
+
|
11 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Frontend.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Frontend
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
protected $_storeId;
|
6 |
+
|
7 |
+
public function render(Varien_Object $row){
|
8 |
+
$html = '';
|
9 |
+
if(!$row->getVersion()){
|
10 |
+
$html .= '<p class="inactive">' . $this->__('View Product in Frontend') . '</p>';
|
11 |
+
}
|
12 |
+
elseif ($row->getProductId()) {
|
13 |
+
$product = Mage::getModel('catalog/product')->setStoreId($this->getStoreId($row))->load($row->getProductId());
|
14 |
+
if (!$product->isDisabled() && $product->isVisibleInSiteVisibility()) {
|
15 |
+
$html .= '<a target="_blank" href="' . $product->getProductUrl() . '">' . $this->__('View Product in Frontend') . '</a>';
|
16 |
+
} else {
|
17 |
+
$html .= 'Product is not visible in frontend';
|
18 |
+
}
|
19 |
+
}
|
20 |
+
elseif($row->getCategoryId()){
|
21 |
+
$category = Mage::getModel('catalog/category')->setStoreId($this->getStoreId($row))->load($row->getCategoryId());
|
22 |
+
$html .= '<a target="_blank" href="' . $category->getUrl() . '">' . $this->__('View Category in Frontend') . '</a>';
|
23 |
+
}
|
24 |
+
return $html;
|
25 |
+
}
|
26 |
+
|
27 |
+
protected function getStoreId($row){
|
28 |
+
if (!$this->_storeId){
|
29 |
+
$this->_storeId = Mage::getModel('strakertranslations_easytranslationplatform/job')
|
30 |
+
->load($row->getjobId())
|
31 |
+
->getStoreId();
|
32 |
+
}
|
33 |
+
return $this->_storeId;
|
34 |
+
}
|
35 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Path.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Path
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row)
|
6 |
+
{
|
7 |
+
$cats = explode('/',$row->getPath());
|
8 |
+
$catNames = array();
|
9 |
+
foreach($cats as $catId){
|
10 |
+
if ($catId == '1'){
|
11 |
+
continue;
|
12 |
+
}
|
13 |
+
$catNames[] = Mage::getModel('catalog/category')->load($catId)->getName();
|
14 |
+
}
|
15 |
+
return implode(' / ', $catNames);
|
16 |
+
}
|
17 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Quote.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Quote
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row){
|
6 |
+
$html = '';
|
7 |
+
if (get_class($row) == get_class(Mage::getModel('strakertranslations_easytranslationplatform/job') )) {
|
8 |
+
$quotes = json_decode($row->getQuote(), true);
|
9 |
+
if(is_array($quotes)) {
|
10 |
+
foreach ($quotes as $quote) {
|
11 |
+
$html .= "<div class='quote-workflow'>";
|
12 |
+
foreach ($quote as $k => $v) {
|
13 |
+
$html .= ($k == 'workflow') ? "<h4>{$v}</h4>" : "<label>{$k}: </label><span>{$v}</span><br />";
|
14 |
+
}
|
15 |
+
$html .= "</div>";
|
16 |
+
}
|
17 |
+
}
|
18 |
+
}
|
19 |
+
return $html;
|
20 |
+
}
|
21 |
+
|
22 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Refresh.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Refresh
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row)
|
6 |
+
{
|
7 |
+
if (get_class($row) == get_class(Mage::getModel('strakertranslations_easytranslationplatform/job'))) {
|
8 |
+
$out = '<button class="straker-refresh-button" id="button-update-'.$row->getId().'" onclick="event.stopPropagation(); setLocation(\'' . Mage::helper("adminhtml")->getUrl("adminhtml/straker_job/updateJob", array('job_id' => $row->getId())) . '\')" title="Refresh" type="button">Refresh</button>';
|
9 |
+
return $out;
|
10 |
+
}
|
11 |
+
}
|
12 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Selected.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Selected
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row){
|
6 |
+
|
7 |
+
if (get_class($row) == get_class(Mage::getModel('strakertranslations_easytranslationplatform/job') )) {
|
8 |
+
|
9 |
+
switch ($row->getTypeName()) {
|
10 |
+
case 'Product':
|
11 |
+
|
12 |
+
$productAttrubuteCollection =
|
13 |
+
Mage::getModel('strakertranslations_easytranslationplatform/product_attributes')
|
14 |
+
->getCollection()->addFieldToFilter('job_id', $row->getId());
|
15 |
+
|
16 |
+
$output =array();
|
17 |
+
|
18 |
+
foreach ($productAttrubuteCollection as $productAttrubute) {
|
19 |
+
$output[] = $this->_getAttributeLabel($productAttrubute->getAttributeId());
|
20 |
+
}
|
21 |
+
$html = implode(', ', $output);
|
22 |
+
|
23 |
+
break;
|
24 |
+
|
25 |
+
case 'Category':
|
26 |
+
|
27 |
+
$categoryAttrubuteCollection =
|
28 |
+
Mage::getModel('strakertranslations_easytranslationplatform/category_attributes')
|
29 |
+
->getCollection()->addFieldToFilter('job_id', $row->getId());
|
30 |
+
|
31 |
+
$output =array();
|
32 |
+
|
33 |
+
foreach ($categoryAttrubuteCollection as $categoryAttrubute) {
|
34 |
+
$output[] = $this->_getAttributeLabel($categoryAttrubute->getAttributeId());
|
35 |
+
}
|
36 |
+
$html = implode(', ', $output);
|
37 |
+
|
38 |
+
break;
|
39 |
+
|
40 |
+
case 'Attribute':
|
41 |
+
|
42 |
+
$AttributeCollection =
|
43 |
+
Mage::getModel('strakertranslations_easytranslationplatform/job_attribute')
|
44 |
+
->getCollection()->addFieldToFilter('job_id', $row->getId());
|
45 |
+
|
46 |
+
$output = count($AttributeCollection);
|
47 |
+
|
48 |
+
$html = $output > 1 ? "$output Attributes" : '1 Attribute';
|
49 |
+
|
50 |
+
break;
|
51 |
+
|
52 |
+
default:
|
53 |
+
$html = '';
|
54 |
+
|
55 |
+
}
|
56 |
+
|
57 |
+
return $html;
|
58 |
+
}
|
59 |
+
|
60 |
+
}
|
61 |
+
|
62 |
+
private function _getAttributeLabel($attributeId) {
|
63 |
+
return Mage::getModel('eav/entity_attribute')->load($attributeId)->getFrontendLabel();
|
64 |
+
}
|
65 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Status.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Status
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row){
|
6 |
+
if (get_class($row) == get_class(Mage::getModel('strakertranslations_easytranslationplatform/job') )) {
|
7 |
+
$html = '';
|
8 |
+
|
9 |
+
//if status is QUEUED
|
10 |
+
if ($row->getStatusName() == 'QUEUED') {
|
11 |
+
$quote = $row->getQuote();
|
12 |
+
$html = $this->__('Waiting for Quote');
|
13 |
+
if ('READY' === $quote && $row->getStatusId() == 2) {
|
14 |
+
$html = '<button onclick="viewStrakerQuote('.$row->getId().',\'' . $row->getJobKey() . '\')" style="margin: 5px;" title="View Quote" type="button" style="">'.$this->__('View Quote').'</button>';
|
15 |
+
}
|
16 |
+
}
|
17 |
+
//else if status is IN_PROGRESS
|
18 |
+
elseif ($row->getStatusName() == 'IN_PROGRESS') {
|
19 |
+
$html = $this->__('In Progress');
|
20 |
+
}
|
21 |
+
//else if status is COMPLETED
|
22 |
+
elseif ($row->getStatusName() == 'COMPLETED') {
|
23 |
+
$html = $this->__('Ready to Publish');
|
24 |
+
}
|
25 |
+
//else if status is PUBLISHED
|
26 |
+
elseif ($row->getStatusName() == 'PUBLISHED') {
|
27 |
+
$html = $this->__('Published');
|
28 |
+
}
|
29 |
+
return $html;
|
30 |
+
}
|
31 |
+
|
32 |
+
}
|
33 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/StrakerTranslated.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_StrakerTranslated
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row)
|
6 |
+
{
|
7 |
+
if($row->getStrakerTranslated()){
|
8 |
+
return 'Yes';
|
9 |
+
}
|
10 |
+
else{
|
11 |
+
return 'No';
|
12 |
+
}
|
13 |
+
}
|
14 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/TranslateOptions.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_TranslateOptions
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
protected $_storeId;
|
6 |
+
|
7 |
+
public function render(Varien_Object $row){
|
8 |
+
if ($row->getFrontendInput()=='select') {
|
9 |
+
$html = '<input type="checkbox" name="option" value="' . $row->getAttributeId() . '" class="checkbox-option">';
|
10 |
+
}
|
11 |
+
else{
|
12 |
+
$html = 'N/A';
|
13 |
+
}
|
14 |
+
return $html;
|
15 |
+
}
|
16 |
+
|
17 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Translated.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Translated
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row)
|
6 |
+
{
|
7 |
+
if($row->getVersion()){
|
8 |
+
return 'Translated';
|
9 |
+
}
|
10 |
+
else{
|
11 |
+
return 'Not Translated';
|
12 |
+
}
|
13 |
+
}
|
14 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Update.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Update
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row)
|
6 |
+
{
|
7 |
+
if (get_class($row) == get_class(Mage::getModel('strakertranslations_easytranslationplatform/job'))) {
|
8 |
+
$out = '<button id="button-update-'.$row->getId().'" style="margin: 5px; display: block;" onclick="event.stopPropagation(); setLocation(\'' . Mage::helper("adminhtml")->getUrl("straker/adminhtml_job/updateJob", array('job_id' => $row->getId())) . '\')" title="Update" type="button" style=""><span><span><span>Update</span></span></span></button>';
|
9 |
+
return $out;
|
10 |
+
}
|
11 |
+
}
|
12 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Block/Adminhtml/Template/Grid/Renderer/Version.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Template_Grid_Renderer_Version
|
3 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
4 |
+
{
|
5 |
+
public function render(Varien_Object $row)
|
6 |
+
{
|
7 |
+
if($row->getVersion()){
|
8 |
+
return 'Published';
|
9 |
+
}
|
10 |
+
else{
|
11 |
+
return 'Not Published';
|
12 |
+
}
|
13 |
+
}
|
14 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Helper/Data.php
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Helper_Data extends Mage_Core_Helper_Abstract {
|
3 |
+
public function getAppKey($store = null){
|
4 |
+
return Mage::getStoreConfig('straker/general/application_key') ? Mage::getStoreConfig('straker/general/application_key') : false;
|
5 |
+
}
|
6 |
+
|
7 |
+
public function getAccessToken($store = null){
|
8 |
+
return Mage::getStoreConfig('straker/general/access_token') ? Mage::getStoreConfig('straker/general/access_token') : false;
|
9 |
+
}
|
10 |
+
|
11 |
+
public function saveStoreSetup($storeId, $source, $from, $to){
|
12 |
+
Mage::getModel('core/config')->saveConfig('straker/general/source', $source, 'stores', $storeId);
|
13 |
+
Mage::getModel('core/config')->saveConfig('straker/general/from', $from, 'stores', $storeId);
|
14 |
+
Mage::getModel('core/config')->saveConfig('straker/general/to', $to, 'stores', $storeId);
|
15 |
+
}
|
16 |
+
|
17 |
+
public function getStoreSetup($storeId){
|
18 |
+
$result['source'] = Mage::getStoreConfig('straker/general/source', $storeId);
|
19 |
+
$result['from'] = Mage::getStoreConfig('straker/general/from', $storeId);
|
20 |
+
$result['to'] = Mage::getStoreConfig('straker/general/to', $storeId);
|
21 |
+
return ($result['source'] && $result['from'] && $result['to']) ? $result : false;
|
22 |
+
}
|
23 |
+
|
24 |
+
public function renderNewJobHeading($storeId){
|
25 |
+
$destinationStore = Mage::getModel('core/store')->load($storeId);
|
26 |
+
$destinationText = $destinationStore->getFrontendName().' ('.$destinationStore->getName().')';
|
27 |
+
|
28 |
+
$config = $this->getStoreSetup($storeId);
|
29 |
+
$sourceStore = Mage::getModel('core/store')->load($config['source']);
|
30 |
+
$sourceText = $sourceStore->getFrontendName().' ('.$sourceStore->getName().')';
|
31 |
+
|
32 |
+
return $sourceText . ' > ' . $destinationText;
|
33 |
+
}
|
34 |
+
|
35 |
+
public function getCmsCreatedMessage(){
|
36 |
+
$message = '';
|
37 |
+
if (Mage::registry('cms_block')){
|
38 |
+
$strakerCmsBlockModel = Mage::getModel('strakertranslations_easytranslationplatform/job_cms_block')->load(Mage::registry('cms_block')->getId(), 'new_entity_id');
|
39 |
+
if($strakerCmsBlockModel->getId()) {
|
40 |
+
$message = '<div id="straker-cms-title-message">Created by<span id="straker-icon">Straker Translations</span>';
|
41 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($strakerCmsBlockModel->getJobId());
|
42 |
+
if ($job->getTl()) {
|
43 |
+
$message.= ', Target Language: '.$job->getTl();
|
44 |
+
}
|
45 |
+
$message .= '</div>';
|
46 |
+
}
|
47 |
+
}
|
48 |
+
elseif(Mage::registry('cms_page')) {
|
49 |
+
$strakerCmsPageModel = Mage::getModel('strakertranslations_easytranslationplatform/job_cms_page')->load(Mage::registry('cms_page')->getId(), 'new_entity_id');
|
50 |
+
if($strakerCmsPageModel->getId()){
|
51 |
+
$message = '<div id="straker-cms-title-message">Created by<span id="straker-icon">Straker Translations</span>';
|
52 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($strakerCmsPageModel->getJobId());
|
53 |
+
if ($job->getTl()) {
|
54 |
+
$message.= ', Target Language: '.$job->getTl();
|
55 |
+
}
|
56 |
+
$message .= '</div>';
|
57 |
+
}
|
58 |
+
}
|
59 |
+
return $message;
|
60 |
+
}
|
61 |
+
|
62 |
+
public function isSandboxMode(){
|
63 |
+
// return (Mage::getStoreConfig('straker/general/site_mode') === 0);
|
64 |
+
return false;
|
65 |
+
}
|
66 |
+
|
67 |
+
public function getSandboxMessage(){
|
68 |
+
return
|
69 |
+
'<p>
|
70 |
+
<h1>Sandbox Mode Enabled.</h1>
|
71 |
+
</p>
|
72 |
+
<p>
|
73 |
+
Thank you for installing our plugin. We have enabled the Sandbox testing mode for you. Jobs you create while this is enabled
|
74 |
+
will not be received by Straker Translations, and content will not be translated by a human - rather it will only be sample
|
75 |
+
text. To change the Sandbox Mode, go to
|
76 |
+
<a href="'. Mage::helper('adminhtml')->getUrl('adminhtml/system_config/edit', ['section' => 'straker']).'">Straker Configuration</a>
|
77 |
+
</p>';
|
78 |
+
}
|
79 |
+
|
80 |
+
public function checkSiteMode(){
|
81 |
+
if($this->isSandboxMode()){
|
82 |
+
Mage::getSingleton('adminhtml/session')->addNotice($this->getSandboxMessage());
|
83 |
+
}
|
84 |
+
}
|
85 |
+
|
86 |
+
public function clearSiteMode(){
|
87 |
+
return Mage::getModel('core/config')->deleteConfig('straker/general/site_mode', 'default', 0);
|
88 |
+
}
|
89 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Actionlog.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 4:06 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Actionlog extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
private $_added = false;
|
11 |
+
|
12 |
+
protected function _construct()
|
13 |
+
{
|
14 |
+
$this->_init('strakertranslations_easytranslationplatform/actionlog');
|
15 |
+
}
|
16 |
+
|
17 |
+
public function addLog($action='', $message='', $extra='' ) {
|
18 |
+
|
19 |
+
if (!$this->_added) { // should be only one log per action
|
20 |
+
|
21 |
+
$_action = $action ? $action : Mage::app()->getRequest()->getControllerName() . ':' . Mage::app()->getRequest()->getActionName();
|
22 |
+
|
23 |
+
$this->setUserId($this->_getAdminUser())
|
24 |
+
->setAction($_action)
|
25 |
+
->setMessage($message)
|
26 |
+
->setExtra($extra)
|
27 |
+
->save();
|
28 |
+
$this->_added = true;
|
29 |
+
}
|
30 |
+
|
31 |
+
}
|
32 |
+
|
33 |
+
protected function _getAdminUser(){
|
34 |
+
|
35 |
+
return Mage::getSingleton('admin/session')->getUser()->getId();
|
36 |
+
}
|
37 |
+
|
38 |
+
|
39 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Api.php
ADDED
@@ -0,0 +1,242 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Api extends Mage_Core_Model_Abstract
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Error codes recollected after each API call
|
6 |
+
*
|
7 |
+
* @var array
|
8 |
+
*/
|
9 |
+
protected $_callErrors = array();
|
10 |
+
|
11 |
+
protected $_storeId;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Headers for each API call
|
15 |
+
*
|
16 |
+
* @var array
|
17 |
+
*/
|
18 |
+
protected $_headers = array();
|
19 |
+
|
20 |
+
protected $_options = array();
|
21 |
+
|
22 |
+
protected function _construct()
|
23 |
+
{
|
24 |
+
|
25 |
+
$this->_storeId = ($this->getStore()) ? $this->getStore() : 0;
|
26 |
+
$this->_init('strakertranslations_easytranslationplatform/api');
|
27 |
+
$this->_headers[] = 'Authorization: Bearer '. Mage::getStoreConfig('straker/general/access_token', $this->_storeId);
|
28 |
+
$this->_headers[] = 'X-Auth-App: '. Mage::getStoreConfig('straker/general/application_key', $this->_storeId);
|
29 |
+
}
|
30 |
+
|
31 |
+
protected function _call($url, $method = 'get', array $request = array(), $raw = false)
|
32 |
+
{
|
33 |
+
switch ($method) {
|
34 |
+
case 'post':
|
35 |
+
$method = Zend_Http_Client::POST;
|
36 |
+
break;
|
37 |
+
|
38 |
+
case 'get' :
|
39 |
+
$method = Zend_Http_Client::GET;
|
40 |
+
break;
|
41 |
+
}
|
42 |
+
|
43 |
+
try {
|
44 |
+
$http = new Varien_Http_Adapter_Curl();
|
45 |
+
$config = array(
|
46 |
+
'timeout' => 60,
|
47 |
+
'verifypeer' => 0,
|
48 |
+
);
|
49 |
+
|
50 |
+
$http->setConfig($config);
|
51 |
+
$http->write(
|
52 |
+
$method,
|
53 |
+
$url,
|
54 |
+
'1.1',
|
55 |
+
$this->_headers,
|
56 |
+
$request //$this->_buildQuery($request)
|
57 |
+
);
|
58 |
+
$response = $http->read();
|
59 |
+
|
60 |
+
} catch (Exception $e) {
|
61 |
+
$debugData['http_error'] = array('error' => $e->getMessage(), 'code' => $e->getCode());
|
62 |
+
$this->_debug($debugData);
|
63 |
+
throw $e;
|
64 |
+
}
|
65 |
+
|
66 |
+
$debugData['response'] = $response;
|
67 |
+
|
68 |
+
|
69 |
+
// handle transport error
|
70 |
+
if ($http->getErrno()) {
|
71 |
+
Mage::logException(new Exception(
|
72 |
+
sprintf('CURL connection error #%s: %s', $http->getErrno(), $http->getError())
|
73 |
+
));
|
74 |
+
$http->close();
|
75 |
+
|
76 |
+
Mage::throwException(Mage::helper('strakertranslations_easytranslationplatform')->__('Unable to communicate with the Straker Translations Api.'));
|
77 |
+
}
|
78 |
+
|
79 |
+
// cUrl resource must be closed after checking it for errors
|
80 |
+
$http->close();
|
81 |
+
|
82 |
+
$response = preg_split('/^\r?$/m', $response, 2);
|
83 |
+
$response = trim($response[1]);
|
84 |
+
|
85 |
+
if ($raw) {
|
86 |
+
return $response;
|
87 |
+
}
|
88 |
+
|
89 |
+
$response = json_decode($response);
|
90 |
+
$this->_callErrors = array();
|
91 |
+
if ($this->_isCallSuccessful($response)) {
|
92 |
+
return $response;
|
93 |
+
}
|
94 |
+
$this->_handleCallErrors($response);
|
95 |
+
return $response;
|
96 |
+
}
|
97 |
+
|
98 |
+
protected function _buildQuery($request)
|
99 |
+
{
|
100 |
+
return http_build_query($request);
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Set array of additional cURL options
|
105 |
+
*
|
106 |
+
* @param array $options
|
107 |
+
* @return Varien_Http_Adapter_Curl
|
108 |
+
*/
|
109 |
+
public function setOptions(array $options = array())
|
110 |
+
{
|
111 |
+
$this->_options = $options;
|
112 |
+
return $this;
|
113 |
+
}
|
114 |
+
|
115 |
+
protected function _debug($debugData){
|
116 |
+
|
117 |
+
// to be added
|
118 |
+
|
119 |
+
}
|
120 |
+
|
121 |
+
protected function _isCallSuccessful($response)
|
122 |
+
{
|
123 |
+
if (isset($response->code)) {
|
124 |
+
return false;
|
125 |
+
}
|
126 |
+
|
127 |
+
if (isset($response->success) || isset($response->languages) || isset($response->country)) {
|
128 |
+
return true;
|
129 |
+
}
|
130 |
+
return false;
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Handle logical errors
|
135 |
+
*
|
136 |
+
* @param array $response
|
137 |
+
* @throws Mage_Core_Exception
|
138 |
+
*/
|
139 |
+
protected function _handleCallErrors($response)
|
140 |
+
{
|
141 |
+
if(empty($response)){
|
142 |
+
return;
|
143 |
+
}
|
144 |
+
if (isset($response->message) && strpos($response->message,'Authentication failed') !== false){
|
145 |
+
$response->magentoMessage = $response->message;
|
146 |
+
}
|
147 |
+
return;
|
148 |
+
// to be added
|
149 |
+
}
|
150 |
+
|
151 |
+
protected function _getRegisterUrl(){
|
152 |
+
return Mage::getStoreConfig('straker/api_url/register');
|
153 |
+
}
|
154 |
+
|
155 |
+
protected function _getLanguagesUrl(){
|
156 |
+
return Mage::getStoreConfig('straker/api_url/languages');
|
157 |
+
}
|
158 |
+
|
159 |
+
protected function _getCountiresUrl(){
|
160 |
+
return Mage::getStoreConfig('straker/api_url/countries');
|
161 |
+
}
|
162 |
+
|
163 |
+
protected function _getTranslateUrl(){
|
164 |
+
/** @var $helper StrakerTranslations_EasyTranslationPlatform_Helper_Data */
|
165 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
166 |
+
if( $helper->isSandboxMode() ){
|
167 |
+
return Mage::getStoreConfig('straker/api_url/translate_sandbox');
|
168 |
+
}else{
|
169 |
+
return Mage::getStoreConfig('straker/api_url/translate');
|
170 |
+
}
|
171 |
+
}
|
172 |
+
|
173 |
+
protected function _getQuoteUrl(){
|
174 |
+
return Mage::getStoreConfig('straker/api_url/quote');
|
175 |
+
}
|
176 |
+
|
177 |
+
protected function _getPaymentUrl(){
|
178 |
+
return Mage::getStoreConfig('straker/api_url/payment');
|
179 |
+
}
|
180 |
+
|
181 |
+
protected function _getSupportUrl(){
|
182 |
+
return Mage::getStoreConfig('straker/api_url/support');
|
183 |
+
}
|
184 |
+
|
185 |
+
public function callRegister($data){
|
186 |
+
return $this->_call($this->_getRegisterUrl(), 'post', $data);
|
187 |
+
}
|
188 |
+
|
189 |
+
public function callTranslate($data){
|
190 |
+
$this->_headers[] = 'Content-Type:multipart/form-data';
|
191 |
+
return $this->_call($this->_getTranslateUrl(), 'post', $data);
|
192 |
+
}
|
193 |
+
|
194 |
+
public function callSupport($data){
|
195 |
+
return $this->_call($this->_getSupportUrl(), 'post', $data);
|
196 |
+
}
|
197 |
+
|
198 |
+
public function getQuote($data){
|
199 |
+
return $this->_call($this->_getQuoteUrl().'?'. $this->_buildQuery($data));
|
200 |
+
}
|
201 |
+
|
202 |
+
public function getPayment($data){
|
203 |
+
return $this->_call($this->_getPaymentUrl().'?'. $this->_buildQuery($data));
|
204 |
+
}
|
205 |
+
|
206 |
+
public function getTranslation($data){
|
207 |
+
return $this->_call($this->_getTranslateUrl().'?'. $this->_buildQuery($data));
|
208 |
+
}
|
209 |
+
|
210 |
+
public function getTranslatedFile($downloadUrl){
|
211 |
+
return $this->_call($downloadUrl,'get',array(),true);
|
212 |
+
}
|
213 |
+
|
214 |
+
public function getCountries(){
|
215 |
+
$result = $this->_call($this->_getCountiresUrl());
|
216 |
+
return $result->country ? $result->country : false;
|
217 |
+
}
|
218 |
+
|
219 |
+
public function getLanguages(){
|
220 |
+
$result = $this->_call($this->_getLanguagesUrl());
|
221 |
+
return $result->languages ? $result->languages : false;
|
222 |
+
}
|
223 |
+
|
224 |
+
public function saveAppKey($appKey){
|
225 |
+
if ($this->_storeId === 0) {
|
226 |
+
Mage::getModel('core/config')->saveConfig('straker/general/application_key', $appKey);
|
227 |
+
}
|
228 |
+
else {
|
229 |
+
Mage::getModel('core/config')->saveConfig('straker/general/application_key', $appKey, 'website', $this->_storeId);
|
230 |
+
}
|
231 |
+
}
|
232 |
+
|
233 |
+
public function saveAccessToken($accessToken){
|
234 |
+
if ($this->_storeId === 0) {
|
235 |
+
Mage::getModel('core/config')->saveConfig('straker/general/access_token', $accessToken);
|
236 |
+
}
|
237 |
+
else {
|
238 |
+
Mage::getModel('core/config')->saveConfig('straker/general/access_token', $accessToken, 'website', $this->_storeId);
|
239 |
+
}
|
240 |
+
}
|
241 |
+
|
242 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Attribute/Translate.php
ADDED
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 18/01/16
|
6 |
+
* Time: 7:41 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Attribute_Translate extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/attribute_translate');
|
14 |
+
}
|
15 |
+
|
16 |
+
public function importTranslation(){
|
17 |
+
// if ($this->getTranslate()){
|
18 |
+
//
|
19 |
+
// $dataInJson = json_encode(simplexml_load_string($this->getTranslate()));
|
20 |
+
// $data = json_decode($dataInJson,true);
|
21 |
+
//
|
22 |
+
// $writeConnection = $this->_getConnection();
|
23 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
24 |
+
// $storeId = (int) $this->getStoreId();
|
25 |
+
//
|
26 |
+
// foreach ($data as $k => $attribute ){
|
27 |
+
// if ($k == 'title' && $attribute){
|
28 |
+
//
|
29 |
+
// $attributeId = (int) $this->getAttributeId();
|
30 |
+
//
|
31 |
+
// $writeConnection->query("
|
32 |
+
// INSERT INTO `" . $prefix . "eav_attribute_label` ( `attribute_id`, `store_id`, `value`)
|
33 |
+
// SELECT {$attributeId}, {$storeId}, '{$attribute}'
|
34 |
+
// FROM (select 1) as a
|
35 |
+
// WHERE NOT EXISTS(
|
36 |
+
// select `attribute_label_id`
|
37 |
+
// from `" . $prefix . "eav_attribute_label`
|
38 |
+
// where `attribute_id`={$attributeId} and `store_id` ={$storeId});");
|
39 |
+
//
|
40 |
+
// $writeConnection->query("
|
41 |
+
// UPDATE `" . $prefix . "eav_attribute_label` SET `value` = '{$attribute}'
|
42 |
+
// where `attribute_id`={$attributeId} and `store_id` ={$storeId} limit 1;");
|
43 |
+
//
|
44 |
+
// }
|
45 |
+
//
|
46 |
+
// if ($k = 'option'){
|
47 |
+
// foreach ($attribute as $optionId => $optionValue) {
|
48 |
+
//
|
49 |
+
// $optionId = str_replace('id_', '',$optionId);
|
50 |
+
//
|
51 |
+
// $writeConnection->query("
|
52 |
+
// INSERT INTO `" . $prefix . "eav_attribute_option_value` ( `option_id`, `store_id`, `value`)
|
53 |
+
// SELECT {$optionId}, {$storeId}, '{$optionValue}'
|
54 |
+
// FROM (select 1) as a
|
55 |
+
// WHERE NOT EXISTS(
|
56 |
+
// select `value_id`
|
57 |
+
// from `" . $prefix . "eav_attribute_option_value`
|
58 |
+
// where `option_id`={$optionId} and `store_id` ={$storeId});");
|
59 |
+
//
|
60 |
+
//
|
61 |
+
// $writeConnection->query("
|
62 |
+
// UPDATE `" . $prefix . "eav_attribute_option_value` SET `value` = '{$optionValue}'
|
63 |
+
// where `option_id`={$optionId} and `store_id` ={$storeId} limit 1;");
|
64 |
+
//
|
65 |
+
// }
|
66 |
+
//
|
67 |
+
// }
|
68 |
+
//
|
69 |
+
// }
|
70 |
+
//
|
71 |
+
//
|
72 |
+
// }
|
73 |
+
|
74 |
+
if ($this->getTranslate()){
|
75 |
+
$dataInJson = json_encode(simplexml_load_string($this->getTranslate()));
|
76 |
+
$data = json_decode($dataInJson,true);
|
77 |
+
$storeId = (int) $this->getStoreId();
|
78 |
+
/** @var Mage_Eav_Model_Attribute $eavAttributeModel */
|
79 |
+
$eavAttributeModel = Mage::getModel('eav/entity_attribute');
|
80 |
+
foreach ($data as $k => $attribute ){
|
81 |
+
if ($k == 'title' && $attribute){
|
82 |
+
$attributeId = (int) $this->getAttributeId();
|
83 |
+
$eavAttributeModel->load($attributeId);
|
84 |
+
if(!empty($eavAttributeModel->getId())){
|
85 |
+
$storeLabels = $eavAttributeModel->getStoreLabels();
|
86 |
+
if(is_array($storeLabels)){
|
87 |
+
//get all current stores
|
88 |
+
$stores = array_keys($storeLabels);
|
89 |
+
if(!in_array($storeId, $stores)){
|
90 |
+
$storeLabels[$storeId] = trim($attribute);
|
91 |
+
$eavAttributeModel->setData('store_labels', $storeLabels)->save();
|
92 |
+
}
|
93 |
+
}
|
94 |
+
}
|
95 |
+
}
|
96 |
+
|
97 |
+
if ($k == 'option' && $attribute){
|
98 |
+
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
|
99 |
+
|
100 |
+
/* @var $model Mage_Catalog_Model_Entity_Attribute */
|
101 |
+
$attrModel = Mage::getModel('catalog/resource_eav_attribute');
|
102 |
+
$attrModel->load($this->getAttributeId());
|
103 |
+
|
104 |
+
/** @var $valuesCollection Mage_Eav_Model_Resource_Entity_Attribute_Option_Collection */
|
105 |
+
$valuesCollection = Mage::getResourceModel('eav/entity_attribute_option_collection')
|
106 |
+
->setStoreFilter($storeId, false)
|
107 |
+
->setAttributeFilter($attrModel->getId());
|
108 |
+
|
109 |
+
//0 => ['option_id' => '20', 'attribute_id' => '92', 'sort_order' => '0', 'value' => 'Black' ]
|
110 |
+
$optionData = $valuesCollection->getData();
|
111 |
+
$optionIds = array_column($optionData, 'option_id');
|
112 |
+
|
113 |
+
$optionValueTable = $setup->getTable('eav/attribute_option_value');
|
114 |
+
|
115 |
+
$newOptionData = [];
|
116 |
+
foreach ($attribute as $optionId => $optionValue) {
|
117 |
+
$optionId = str_replace('id_', '',$optionId);
|
118 |
+
/** @var Mage_Eav_Model_Entity_Attribute_Option $optionModel */
|
119 |
+
$optionModel = Mage::getModel('eav/entity_attribute_option');
|
120 |
+
$optionModel->load($optionId);
|
121 |
+
if( !in_array($optionId, $optionIds)){
|
122 |
+
array_push(
|
123 |
+
$newOptionData,
|
124 |
+
[
|
125 |
+
'option_id' => $optionId,
|
126 |
+
'store_id' => $storeId,
|
127 |
+
'value' => trim($optionValue)
|
128 |
+
]
|
129 |
+
);
|
130 |
+
}
|
131 |
+
}
|
132 |
+
if($newOptionData){
|
133 |
+
$setup->getConnection()->insertMultiple($optionValueTable, $newOptionData);
|
134 |
+
}
|
135 |
+
}
|
136 |
+
}
|
137 |
+
}
|
138 |
+
$this->setIsImported(1)->save();
|
139 |
+
}
|
140 |
+
|
141 |
+
// private function _getConnection() {
|
142 |
+
// return Mage::getSingleton('core/resource')->getConnection('core_write');
|
143 |
+
// }
|
144 |
+
|
145 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Category/Attributes.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/11/15
|
6 |
+
* Time: 8:55 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Category_Attributes extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/category_attributes');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Category/Translate.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/11/15
|
6 |
+
* Time: 8:53 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Category_Translate extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/category_translate');
|
14 |
+
}
|
15 |
+
|
16 |
+
public function importTranslation(){
|
17 |
+
|
18 |
+
$category = Mage::getModel('catalog/category')->setStoreId($this->getStoreId())->load($this->getCategoryId());
|
19 |
+
|
20 |
+
$categoryAttributeCode = $this->_getAttributeCode($this->getAttributeId());
|
21 |
+
|
22 |
+
$this->setBackup($category->getData($categoryAttributeCode));
|
23 |
+
|
24 |
+
$category->setData($categoryAttributeCode, $this->getTranslate())
|
25 |
+
->getResource()
|
26 |
+
->saveAttribute($category, $categoryAttributeCode);
|
27 |
+
$this->setIsImported(1)->save();
|
28 |
+
|
29 |
+
$category->clearInstance();
|
30 |
+
|
31 |
+
}
|
32 |
+
|
33 |
+
protected function _getAttributeCode($attributeId){
|
34 |
+
|
35 |
+
if (!Mage::registry('attributeCodeCache_'.$attributeId)){
|
36 |
+
$categoryAttributeCode = Mage::getModel('eav/entity_attribute')->load($attributeId)->getAttributeCode();
|
37 |
+
Mage::register('attributeCodeCache_'.$attributeId,$categoryAttributeCode);
|
38 |
+
}else{
|
39 |
+
$categoryAttributeCode = Mage::registry('attributeCodeCache_'.$attributeId);
|
40 |
+
}
|
41 |
+
return $categoryAttributeCode;
|
42 |
+
|
43 |
+
}
|
44 |
+
|
45 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Cms/Block/Attributes.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 19/05/16
|
6 |
+
* Time: 3:28 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Cms_Block_Attributes extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_block_attributes');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Cms/Block/Translate.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:07 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Cms_Block_Translate extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_block_translate');
|
14 |
+
}
|
15 |
+
|
16 |
+
public function importTranslation(){
|
17 |
+
|
18 |
+
$newEntityId =Mage::getModel('strakertranslations_easytranslationplatform/job_cms_block')->load($this->getJobCmsId())
|
19 |
+
->getNewEntityId();
|
20 |
+
|
21 |
+
|
22 |
+
// if ($this->getTranslate()){
|
23 |
+
//
|
24 |
+
// $writeConnection = $this->_getConnection();
|
25 |
+
//
|
26 |
+
// $query = 'UPDATE `'.Mage::getSingleton('core/resource')->getTableName('cms/block')
|
27 |
+
// . '` SET '.$this->getColumnName() .' = \''.addslashes($this->getTranslate()).' \' WHERE block_id = '.$newEntityId;
|
28 |
+
//
|
29 |
+
//
|
30 |
+
// $writeConnection->query($query);
|
31 |
+
//
|
32 |
+
//
|
33 |
+
// }
|
34 |
+
|
35 |
+
if ($this->getTranslate()){
|
36 |
+
$model = Mage::getModel('cms/block')->load($newEntityId);
|
37 |
+
if($model->getId()){
|
38 |
+
$model->setData($this->getColumnName(), $this->getTranslate());
|
39 |
+
$model->save();
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
$this->setIsImported(1)->save();
|
44 |
+
|
45 |
+
}
|
46 |
+
//
|
47 |
+
// private function _getConnection() {
|
48 |
+
// return Mage::getSingleton('core/resource')->getConnection('core_write');
|
49 |
+
// }
|
50 |
+
|
51 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Cms/Page/Attributes.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 19/05/16
|
6 |
+
* Time: 3:28 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Cms_Page_Attributes extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_page_attributes');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Cms/Page/Translate.php
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:06 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Cms_Page_Translate extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_page_translate');
|
14 |
+
}
|
15 |
+
|
16 |
+
public function importTranslation(){
|
17 |
+
|
18 |
+
$newEntityId =Mage::getModel('strakertranslations_easytranslationplatform/job_cms_page')->load($this->getJobCmsId())
|
19 |
+
->getNewEntityId();
|
20 |
+
|
21 |
+
|
22 |
+
// if ($this->getTranslate()){
|
23 |
+
//
|
24 |
+
// $writeConnection = $this->_getConnection();
|
25 |
+
//
|
26 |
+
// $query = 'UPDATE `'.Mage::getSingleton('core/resource')->getTableName('cms/page')
|
27 |
+
// . '` SET '.$this->getColumnName() .' = \''.addslashes($this->getTranslate()).' \' WHERE page_id = '.$newEntityId;
|
28 |
+
//
|
29 |
+
//
|
30 |
+
// $writeConnection->query($query);
|
31 |
+
//
|
32 |
+
//
|
33 |
+
// }
|
34 |
+
//
|
35 |
+
// $this->setIsImported(1)->save();
|
36 |
+
|
37 |
+
if ($this->getTranslate()){
|
38 |
+
|
39 |
+
$model = Mage::getModel('cms/page')->load($newEntityId);
|
40 |
+
if($model->getId()){
|
41 |
+
$model->setData($this->getColumnName(), $this->getTranslate());
|
42 |
+
$model->save();
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
$this->setIsImported(1)->save();
|
47 |
+
|
48 |
+
}
|
49 |
+
//
|
50 |
+
// private function _getConnection() {
|
51 |
+
// return Mage::getSingleton('core/resource')->getConnection('core_write');
|
52 |
+
// }
|
53 |
+
|
54 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job.php
ADDED
@@ -0,0 +1,1043 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Created by PhpStorm.
|
5 |
+
* User: WlliamZhao
|
6 |
+
* Date: 30/09/15
|
7 |
+
* Time: 4:37 PM
|
8 |
+
*/
|
9 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Job extends Mage_Core_Model_Abstract
|
10 |
+
{
|
11 |
+
protected $_attributes = array();
|
12 |
+
|
13 |
+
protected $_translateFilePath = '/var/straker/';
|
14 |
+
|
15 |
+
protected function _construct()
|
16 |
+
{
|
17 |
+
$this->_init('strakertranslations_easytranslationplatform/job');
|
18 |
+
}
|
19 |
+
|
20 |
+
protected function addProductAttributes($productAttributeIds)
|
21 |
+
{
|
22 |
+
foreach ($productAttributeIds as $productAttributeId) {
|
23 |
+
$this->_attributes[] =
|
24 |
+
Mage::getModel('strakertranslations_easytranslationplatform/product_attributes')
|
25 |
+
->setJobId($this->getId())
|
26 |
+
->setAttributeId((int)$productAttributeId)
|
27 |
+
->save();
|
28 |
+
}
|
29 |
+
return $this;
|
30 |
+
}
|
31 |
+
|
32 |
+
protected function addProductIds($productIds)
|
33 |
+
{
|
34 |
+
$model = Mage::getModel('strakertranslations_easytranslationplatform/job_product');
|
35 |
+
foreach ($productIds as $productId) {
|
36 |
+
$model->setProductId($productId);
|
37 |
+
$model->setJobId($this->getId());
|
38 |
+
$model->save();
|
39 |
+
$model->unsetData();
|
40 |
+
}
|
41 |
+
return $this;
|
42 |
+
}
|
43 |
+
|
44 |
+
protected function addProductTranslateOriginal($productAttributeId, $productCollection)
|
45 |
+
{
|
46 |
+
$model = Mage::getModel('strakertranslations_easytranslationplatform/product_translate');
|
47 |
+
$productAttributeCode = Mage::getModel('eav/entity_attribute')->load($productAttributeId)->getAttributeCode();
|
48 |
+
foreach ($productCollection as $product) {
|
49 |
+
$model->setJobId($this->getId());
|
50 |
+
$model->setProductId($product->getId());
|
51 |
+
$model->setAttributeId($productAttributeId);
|
52 |
+
$model->setOriginal($product->getData($productAttributeCode));
|
53 |
+
$model->save();
|
54 |
+
$model->unsetData();
|
55 |
+
}
|
56 |
+
return $this;
|
57 |
+
}
|
58 |
+
|
59 |
+
protected function addCategoryAttributes($categoryAttributeIds)
|
60 |
+
{
|
61 |
+
foreach ($categoryAttributeIds as $categoryAttributeId) {
|
62 |
+
$this->_attributes[] =
|
63 |
+
Mage::getModel('strakertranslations_easytranslationplatform/category_attributes')
|
64 |
+
->setJobId($this->getId())
|
65 |
+
->setAttributeId((int)$categoryAttributeId)
|
66 |
+
->save();
|
67 |
+
}
|
68 |
+
return $this;
|
69 |
+
}
|
70 |
+
|
71 |
+
|
72 |
+
protected function addCategoryIds($categoryIds)
|
73 |
+
{
|
74 |
+
$model = Mage::getModel('strakertranslations_easytranslationplatform/job_category');
|
75 |
+
//. '` (`category_id`, `job_id`) VALUES ';
|
76 |
+
foreach ($categoryIds as $categoryId) {
|
77 |
+
$model->setCategoryId($categoryId);
|
78 |
+
$model->setJobId($this->getId());
|
79 |
+
$model->save();
|
80 |
+
$model->unsetData();
|
81 |
+
}
|
82 |
+
return $this;
|
83 |
+
}
|
84 |
+
|
85 |
+
protected function addCategoryTranslateOriginal($categoryAttributeId, $categoryCollection)
|
86 |
+
{
|
87 |
+
$model = Mage::getModel('strakertranslations_easytranslationplatform/category_translate');
|
88 |
+
$categoryAttributeCode = Mage::getModel('eav/entity_attribute')->load($categoryAttributeId)->getAttributeCode();
|
89 |
+
foreach ($categoryCollection as $category) {
|
90 |
+
$model->setJobId($this->getId());
|
91 |
+
$model->setCategoryId($category->getId());
|
92 |
+
$model->setAttributeId($categoryAttributeId);
|
93 |
+
$model->setOriginal($category->getData($categoryAttributeCode));
|
94 |
+
$model->save();
|
95 |
+
$model->unsetData();
|
96 |
+
}
|
97 |
+
return $this;
|
98 |
+
}
|
99 |
+
|
100 |
+
protected function addCmsTranslateOriginal($Column, $cmsDataCollection, $type = 'page', $jobCmsIds)
|
101 |
+
{
|
102 |
+
|
103 |
+
// $writeConnection = $this->getWriteAdapter();
|
104 |
+
//
|
105 |
+
// $query = 'INSERT INTO `' . Mage::getSingleton('core/resource')->getTableName('strakertranslations_easytranslationplatform/cms_' . $type . '_translate') . '` (`job_id`, `cms_' . $type . '_id`, `column_name`, `original` , `job_cms_id`) VALUES ';
|
106 |
+
// $queryVals = array();
|
107 |
+
// foreach ($cmsDataCollection as $cmsData) {
|
108 |
+
//
|
109 |
+
// foreach ($jobCmsIds as $k => $v) {
|
110 |
+
// if ($cmsData[$type . '_id'] == $v) {
|
111 |
+
// $jobCmsId = $k;
|
112 |
+
// break;
|
113 |
+
// }
|
114 |
+
// }
|
115 |
+
//
|
116 |
+
// $queryVals[] = '(' . $this->getId() . ', ' . $cmsData[$type . '_id'] . ', \'' . addslashes($Column) . '\', \'' . addslashes($cmsData[$Column]) . '\', ' . $jobCmsId . ')';
|
117 |
+
// }
|
118 |
+
//
|
119 |
+
// $writeConnection->query($query . implode(',', $queryVals));
|
120 |
+
|
121 |
+
$model = Mage::getModel('strakertranslations_easytranslationplatform/cms_' . $type . '_translate');
|
122 |
+
//. '` (`job_id`, `cms_' . $type . '_id`, `column_name`, `original` , `job_cms_id`) VALUES ';
|
123 |
+
$jobCmsId = 0;
|
124 |
+
foreach ($cmsDataCollection as $cmsData) {
|
125 |
+
foreach ($jobCmsIds as $jobCmsIdArray) {
|
126 |
+
if ($cmsData[$type . '_id'] == $jobCmsIdArray[$type.'_id']) {
|
127 |
+
$jobCmsId = $jobCmsIdArray['id'];
|
128 |
+
break;
|
129 |
+
}
|
130 |
+
}
|
131 |
+
$model->setJobId($this->getId());
|
132 |
+
$model->setData('cms_'.$type.'_id', $cmsData[$type . '_id']);
|
133 |
+
$model->setcolumnName($Column);
|
134 |
+
$model->setOriginal($cmsData[$Column]);
|
135 |
+
$model->setJobCmsId($jobCmsId);
|
136 |
+
$model->save();
|
137 |
+
$model->unsetData();
|
138 |
+
}
|
139 |
+
|
140 |
+
return $this;
|
141 |
+
}
|
142 |
+
|
143 |
+
public function array_to_xml($data, &$xml_data)
|
144 |
+
{
|
145 |
+
foreach ($data as $key => $value) {
|
146 |
+
if (is_array($value)) {
|
147 |
+
if (is_numeric($key)) {
|
148 |
+
$key = 'item' . $key; //dealing with <0/>..<n/> issues
|
149 |
+
}
|
150 |
+
$subnode = $xml_data->addChild($key);
|
151 |
+
$this->array_to_xml($value, $subnode);
|
152 |
+
} else {
|
153 |
+
$xml_data->addChild("$key", htmlspecialchars("$value"));
|
154 |
+
}
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
protected function addAttributeTranslateOriginal($attributeData)
|
159 |
+
{
|
160 |
+
|
161 |
+
// $writeConnection = $this->getWriteAdapter();
|
162 |
+
//
|
163 |
+
// $query = 'INSERT INTO `' . Mage::getSingleton('core/resource')->getTableName('strakertranslations_easytranslationplatform/straker_attribute_translate') . '` (`job_id`, `attribute_id`, `original`) VALUES ';
|
164 |
+
// $queryVals = array();
|
165 |
+
//
|
166 |
+
// foreach ($attributeData as $attributeId => $translate) {
|
167 |
+
//
|
168 |
+
// $original = array();
|
169 |
+
//
|
170 |
+
// $original['title'] = $translate['label'] ? Mage::getModel('catalog/resource_eav_attribute')->load($attributeId)->getStoreLabel($this->getSourceStore()) : '';
|
171 |
+
//
|
172 |
+
//
|
173 |
+
// if ($translate['option']) {
|
174 |
+
// $attributeOptioinCollection = Mage::getModel('eav/entity_attribute_option')
|
175 |
+
// ->getCollection()
|
176 |
+
// ->setStoreFilter($this->getSourceStore())
|
177 |
+
// ->setAttributeFilter($attributeId);
|
178 |
+
//
|
179 |
+
// foreach ($attributeOptioinCollection as $attributeOptioin) {
|
180 |
+
// $original['option']['id_' . $attributeOptioin->getoptionId()] = $attributeOptioin->getValue();
|
181 |
+
// }
|
182 |
+
// }
|
183 |
+
//
|
184 |
+
// $xml = new SimpleXMLElement('<attribute/>');
|
185 |
+
//
|
186 |
+
// $this->array_to_xml($original, $xml);
|
187 |
+
//
|
188 |
+
//
|
189 |
+
// $queryVals[] = '(' . $this->getId() . ', ' . $attributeId . ', \'' . addslashes($xml->asXML()) . '\')';
|
190 |
+
//
|
191 |
+
//
|
192 |
+
// }
|
193 |
+
//
|
194 |
+
// $writeConnection->query($query . implode(',', $queryVals));
|
195 |
+
|
196 |
+
$model = Mage::getModel('strakertranslations_easytranslationplatform/attribute_translate');
|
197 |
+
// . '` (`job_id`, `attribute_id`, `original`) VALUES ';
|
198 |
+
|
199 |
+
foreach ($attributeData as $attributeId => $translate) {
|
200 |
+
$original = array();
|
201 |
+
$original['title'] = $translate['label'] ? Mage::getModel('catalog/resource_eav_attribute')->load($attributeId)->getStoreLabel($this->getSourceStore()) : '';
|
202 |
+
if ($translate['option']) {
|
203 |
+
$attributeOptioinCollection = Mage::getModel('eav/entity_attribute_option')
|
204 |
+
->getCollection()
|
205 |
+
->setStoreFilter($this->getSourceStore())
|
206 |
+
->setAttributeFilter($attributeId);
|
207 |
+
foreach ($attributeOptioinCollection as $attributeOptioin) {
|
208 |
+
$original['option']['id_' . $attributeOptioin->getoptionId()] = $attributeOptioin->getValue();
|
209 |
+
}
|
210 |
+
}
|
211 |
+
$xml = new SimpleXMLElement('<attribute/>');
|
212 |
+
$this->array_to_xml($original, $xml);
|
213 |
+
//$queryVals[] = '(' . $this->getId() . ', ' . $attributeId . ', \'' . addslashes($xml->asXML()) . '\')';
|
214 |
+
$model->setJobId($this->getId());
|
215 |
+
$model->setAttributeId($attributeId);
|
216 |
+
$model->setOriginal($xml->asXML());
|
217 |
+
$model->save();
|
218 |
+
$model->unsetData();
|
219 |
+
}
|
220 |
+
|
221 |
+
// $writeConnection->query($query . implode(',', $queryVals));
|
222 |
+
|
223 |
+
return $this;
|
224 |
+
|
225 |
+
|
226 |
+
}
|
227 |
+
|
228 |
+
|
229 |
+
protected function addAttributeIds($attributeData)
|
230 |
+
{
|
231 |
+
|
232 |
+
|
233 |
+
// $writeConnection = $this->getWriteAdapter();
|
234 |
+
//
|
235 |
+
// $query = 'INSERT INTO `' . Mage::getSingleton('core/resource')->getTableName('strakertranslations_easytranslationplatform/job_attribute') . '` (`attribute_id`, `translate_label`, `translate_option`, `job_id` ) VALUES ';
|
236 |
+
// $queryVals = array();
|
237 |
+
//
|
238 |
+
// foreach ($attributeData as $attributeId => $translate) {
|
239 |
+
//
|
240 |
+
// $queryVals[] = '(' . (int)$attributeId . ', ' . $translate['label'] . ', ' . $translate['option'] . ', ' . $this->getId() . ')';
|
241 |
+
// }
|
242 |
+
//
|
243 |
+
// $writeConnection->query($query . implode(',', $queryVals));
|
244 |
+
|
245 |
+
|
246 |
+
$model = Mage::getModel('strakertranslations_easytranslationplatform/job_attribute');
|
247 |
+
// . '` (`attribute_id`, `translate_label`, `translate_option`, `job_id` ) VALUES ';
|
248 |
+
|
249 |
+
foreach ($attributeData as $attributeId => $translate) {
|
250 |
+
$model->setAttributeId($attributeId);
|
251 |
+
$model->setTranslateLabel($translate['label']);
|
252 |
+
$model->setTranslateOption($translate['option']);
|
253 |
+
$model->setJobId($this->getId());
|
254 |
+
$model->save();
|
255 |
+
$model->unsetData();
|
256 |
+
}
|
257 |
+
|
258 |
+
return $this;
|
259 |
+
|
260 |
+
}
|
261 |
+
|
262 |
+
|
263 |
+
public function addProducts($productAttributeIds, $productIds)
|
264 |
+
{
|
265 |
+
|
266 |
+
if (!$this->getId()) {
|
267 |
+
if (!$this->getStoreId()) {
|
268 |
+
Mage::throwException('Error: Missing Store Id');
|
269 |
+
}
|
270 |
+
$this->setSourceStore(Mage::getStoreConfig('straker/general/source', $this->getStoreId()));
|
271 |
+
$this->save();
|
272 |
+
}
|
273 |
+
|
274 |
+
$this->addProductAttributes($productAttributeIds);
|
275 |
+
|
276 |
+
$countProducts = sizeof($productIds);
|
277 |
+
$buffer = 1000;
|
278 |
+
$_productIdSet = array();
|
279 |
+
for ($i = 0; $i < $countProducts; $i = $i + $buffer) {
|
280 |
+
$_productIdSet[] = array_slice($productIds, $i, $buffer);
|
281 |
+
}
|
282 |
+
|
283 |
+
foreach ($_productIdSet as $_productIds) {
|
284 |
+
$this->addProductIds($_productIds);
|
285 |
+
}
|
286 |
+
|
287 |
+
foreach ($_productIdSet as $_productIds) {
|
288 |
+
|
289 |
+
$productCollection = Mage::getModel('catalog/product')->getCollection()->setStore($this->getSourceStore());
|
290 |
+
|
291 |
+
foreach ($productAttributeIds as $productAttributeId) {
|
292 |
+
|
293 |
+
$productAttributeCode = Mage::getModel('eav/entity_attribute')->load($productAttributeId)->getAttributeCode();
|
294 |
+
$productCollection->addAttributeToSelect($productAttributeCode);
|
295 |
+
}
|
296 |
+
|
297 |
+
$productCollection->addFieldToFilter('entity_id', array('in' => $_productIds));
|
298 |
+
|
299 |
+
foreach ($productAttributeIds as $productAttributeId) {
|
300 |
+
$this->addProductTranslateOriginal($productAttributeId, $productCollection);
|
301 |
+
}
|
302 |
+
}
|
303 |
+
return $this;
|
304 |
+
}
|
305 |
+
|
306 |
+
public function addCategories($categoryAttributeIds, $categoryIds)
|
307 |
+
{
|
308 |
+
|
309 |
+
if (!$this->getId()) {
|
310 |
+
if (!$this->getStoreId()) {
|
311 |
+
Mage::throwException('Error: Missing Store Id');
|
312 |
+
}
|
313 |
+
$this->setSourceStore(Mage::getStoreConfig('straker/general/source', $this->getStoreId()));
|
314 |
+
$this->save();
|
315 |
+
}
|
316 |
+
|
317 |
+
$this->addCategoryAttributes($categoryAttributeIds);
|
318 |
+
|
319 |
+
$countCategories = sizeof($categoryIds);
|
320 |
+
$buffer = 1000;
|
321 |
+
$_categoryIdSet = array();
|
322 |
+
for ($i = 0; $i < $countCategories; $i = $i + $buffer) {
|
323 |
+
$_categoryIdSet[] = array_slice($categoryIds, $i, $buffer);
|
324 |
+
}
|
325 |
+
|
326 |
+
foreach ($_categoryIdSet as $_categoryIds) {
|
327 |
+
$this->addCategoryIds($_categoryIds);
|
328 |
+
}
|
329 |
+
|
330 |
+
foreach ($_categoryIdSet as $_categoryIds) {
|
331 |
+
|
332 |
+
$categoryCollection = Mage::getModel('catalog/category')->getCollection()->setStore($this->getSourceStore());
|
333 |
+
|
334 |
+
foreach ($categoryAttributeIds as $categoryAttributeId) {
|
335 |
+
|
336 |
+
$categoryAttributeCode = Mage::getModel('eav/entity_attribute')->load($categoryAttributeId)->getAttributeCode();
|
337 |
+
$categoryCollection->addAttributeToSelect($categoryAttributeCode);
|
338 |
+
}
|
339 |
+
|
340 |
+
$categoryCollection->addFieldToFilter('entity_id', array('in' => $_categoryIds));
|
341 |
+
|
342 |
+
foreach ($categoryAttributeIds as $categoryAttributeId) {
|
343 |
+
$this->addCategoryTranslateOriginal($categoryAttributeId, $categoryCollection);
|
344 |
+
}
|
345 |
+
}
|
346 |
+
return $this;
|
347 |
+
}
|
348 |
+
|
349 |
+
public function addAttributes($attributeData)
|
350 |
+
{
|
351 |
+
|
352 |
+
if (!$this->getId()) {
|
353 |
+
if (!$this->getStoreId()) {
|
354 |
+
Mage::throwException('Error: Missing Store Id');
|
355 |
+
}
|
356 |
+
$this->setSourceStore(Mage::getStoreConfig('straker/general/source', $this->getStoreId()));
|
357 |
+
$this->save();
|
358 |
+
}
|
359 |
+
|
360 |
+
$this->addAttributeIds($attributeData);
|
361 |
+
|
362 |
+
$this->addAttributeTranslateOriginal($attributeData);
|
363 |
+
|
364 |
+
return $this;
|
365 |
+
}
|
366 |
+
|
367 |
+
|
368 |
+
public function addCmsEntities($ids, $Columns = array(), $type = 'page')
|
369 |
+
{
|
370 |
+
|
371 |
+
if (!$this->getId()) {
|
372 |
+
if (!$this->getStoreId()) {
|
373 |
+
Mage::throwException('Error: Missing Store Id');
|
374 |
+
}
|
375 |
+
$this->setSourceStore(Mage::getStoreConfig('straker/general/source', $this->getStoreId()));
|
376 |
+
$this->save();
|
377 |
+
}
|
378 |
+
|
379 |
+
foreach ($Columns as $Column) {
|
380 |
+
$this->_attributes[] =
|
381 |
+
Mage::getModel('strakertranslations_easytranslationplatform/cms_' . $type . '_attributes')
|
382 |
+
->setJobId($this->getId())
|
383 |
+
->setColumnName($Column)
|
384 |
+
->save();
|
385 |
+
}
|
386 |
+
|
387 |
+
// $writeConnection = $this->getWriteAdapter();
|
388 |
+
//
|
389 |
+
// $searchQuery = 'SELECT * FROM ' . Mage::getSingleton('core/resource')->getTableName('cms/' . $type)
|
390 |
+
// . ' WHERE ' . $type . '_id IN (' . implode(',', $ids) . ')';
|
391 |
+
//
|
392 |
+
// $cmsDataCollection = $writeConnection->fetchAll($searchQuery);
|
393 |
+
|
394 |
+
$cmsDataCollection = Mage::getResourceModel('cms/' . $type.'_collection')
|
395 |
+
->addFieldToFilter($type.'_id', ['in' => $ids])
|
396 |
+
->getData();
|
397 |
+
|
398 |
+
// $query = 'INSERT INTO `'
|
399 |
+
// . Mage::getSingleton('core/resource')->getTableName('strakertranslations_easytranslationplatform/job_cms' . $type)
|
400 |
+
// . '` (`' . $type . '_id`, `job_id` , `origin`) VALUES ';
|
401 |
+
//
|
402 |
+
// $queryVals = array();
|
403 |
+
//
|
404 |
+
// foreach ($cmsDataCollection as $cmsData) {
|
405 |
+
// $id = $cmsData[$type . '_id'];
|
406 |
+
//
|
407 |
+
// unset($cmsData[$type . '_id']);
|
408 |
+
//
|
409 |
+
//
|
410 |
+
// $queryVals[] = "(" . (int)$id . ", " . $this->getId() . ", '" . addslashes(json_encode($cmsData)) . "')";
|
411 |
+
// }
|
412 |
+
//
|
413 |
+
// $writeConnection->query($query . implode(',', $queryVals));
|
414 |
+
|
415 |
+
$model = Mage::getModel('strakertranslations_easytranslationplatform/job_cms_' . $type);
|
416 |
+
//. '` (`' . $type . '_id`, `job_id` , `origin`) VALUES ';
|
417 |
+
|
418 |
+
foreach ($cmsDataCollection as $cmsData) {
|
419 |
+
$id = $cmsData[$type . '_id'];
|
420 |
+
unset($cmsData[$type . '_id']);
|
421 |
+
$model->setData($type.'_id', $id);
|
422 |
+
$model->setJobId($this->getId());
|
423 |
+
$model->setOrigin(json_encode($cmsData));
|
424 |
+
$model->save();
|
425 |
+
$model->unsetData();
|
426 |
+
}
|
427 |
+
|
428 |
+
$writeConnection = $this->getWriteAdapter();
|
429 |
+
|
430 |
+
// $query = 'SELECT id, ' . $type . '_id FROM ' . Mage::getSingleton('core/resource')->getTableName('strakertranslations_easytranslationplatform/job_cms' . $type)
|
431 |
+
// . ' WHERE job_id = ' . $this->getId();
|
432 |
+
//
|
433 |
+
// $jobCmsIds = $writeConnection->fetchPairs($query);
|
434 |
+
|
435 |
+
$jobCmsIds = Mage::getResourceModel('strakertranslations_easytranslationplatform/job_cms_' . $type . '_collection')
|
436 |
+
->addFieldToSelect('id')
|
437 |
+
->addFieldToSelect($type.'_id')
|
438 |
+
->addFieldToFilter('job_id', ['eq' => $this->getId()])
|
439 |
+
->getData();
|
440 |
+
|
441 |
+
foreach ($Columns as $Column) {
|
442 |
+
$this->addCmsTranslateOriginal($Column, $cmsDataCollection, $type, $jobCmsIds);
|
443 |
+
}
|
444 |
+
|
445 |
+
$this->_createCMSTranslateFile($type);
|
446 |
+
return $this;
|
447 |
+
}
|
448 |
+
|
449 |
+
protected function _createCMSTranslateFile($type)
|
450 |
+
{
|
451 |
+
|
452 |
+
$_xml = new DOMDocument('1.0', 'utf-8');
|
453 |
+
$_xml->formatOutput = true;
|
454 |
+
|
455 |
+
$rootElement = $_xml->createElement('root');
|
456 |
+
|
457 |
+
$cmsTranslateCollection = Mage::getModel('strakertranslations_easytranslationplatform/cms_' . $type . '_translate')->getCollection($this->getWriteAdapter());
|
458 |
+
$cmsTranslateCollection->addFieldToFilter('job_id', $this->getId());
|
459 |
+
foreach ($cmsTranslateCollection as $cmsTranslate) {
|
460 |
+
$dataElement = $_xml->createElement('data');
|
461 |
+
$dataElement->setAttribute('name', 'cms_' . $type . '_' . $cmsTranslate->getJobCmsId() . '_' . $cmsTranslate->getColumnName());
|
462 |
+
$dataElement->setAttribute('content_context', $cmsTranslate->getColumnName());
|
463 |
+
$dataElement->setAttribute('content_id', $cmsTranslate->getId());
|
464 |
+
|
465 |
+
$valueElement = $_xml->createElement('value');
|
466 |
+
$CDATAValueNode = $_xml->createCDATASection($cmsTranslate->getOriginal());
|
467 |
+
$valueElement->appendChild($CDATAValueNode);
|
468 |
+
|
469 |
+
$dataElement->appendChild($valueElement);
|
470 |
+
$rootElement->appendChild($dataElement);
|
471 |
+
}
|
472 |
+
$_xml->appendChild($rootElement);
|
473 |
+
file_put_contents(MAGENTO_ROOT . $this->_translateFilePath . 'job' . $this->getId() . '.xml', $_xml->saveXML());
|
474 |
+
$this->setSourceFile('job' . $this->getId() . '.xml')->save();
|
475 |
+
|
476 |
+
return $this;
|
477 |
+
|
478 |
+
|
479 |
+
}
|
480 |
+
|
481 |
+
// protected function _createProductTranslateFile() {
|
482 |
+
//
|
483 |
+
// $_xml = '/</?xml version="1.0" encoding="utf-8"/?/>/<root//>';
|
484 |
+
//
|
485 |
+
// $productTranslateCollection = Mage::getModel('strakertranslations_easytranslationplatform/product_translate')->getCollection($this->getWriteAdapter());
|
486 |
+
// $productTranslateCollection->addFieldToFilter('job_id',$this->getId());
|
487 |
+
//
|
488 |
+
// $attributeFrontLabel = array();
|
489 |
+
//
|
490 |
+
// foreach ($productTranslateCollection as $productTranslate ){
|
491 |
+
// if (!isset($attributeFrontLabel[$productTranslate->getAttributeId()])){
|
492 |
+
// $attributeFrontLabel[$productTranslate->getAttributeId()] =
|
493 |
+
// Mage::getModel('eav/entity_attribute')->load($productTranslate->getAttributeId())->getFrontendLabel();
|
494 |
+
// }
|
495 |
+
//
|
496 |
+
// $_xml .= '<data name="' .$this->getTypeId(). '_' . $this->getStoreId().'_'. $productTranslate->getAttributeId().'_'. $productTranslate->getProductId().'" ' ;
|
497 |
+
// $_xml .= 'content_context="' . $attributeFrontLabel[$productTranslate->getAttributeId()] . '" ';
|
498 |
+
// $_xml .= 'content_context_url="'.Mage::getStoreConfig('web/unsecure/base_link_url',$this->getStoreId()).'catalog/category/view/id/'.$productTranslate->getProductId().'" ';
|
499 |
+
// $_xml .= 'content_id="'. $productTranslate->getId() .'">';
|
500 |
+
// $_xml .= '<value><![CDATA['.$productTranslate->getOriginal().']]></value></data>';
|
501 |
+
// }
|
502 |
+
// $_xml .='</root>';
|
503 |
+
//
|
504 |
+
// file_put_contents(MAGENTO_ROOT.$this->_translateFilePath.'job'.$this->getId().'.xml',$_xml);
|
505 |
+
// $this->setSourceFile('job'.$this->getId().'.xml')->save() ;
|
506 |
+
//
|
507 |
+
// return $this;
|
508 |
+
// }
|
509 |
+
|
510 |
+
protected function _createProductTranslateFile()
|
511 |
+
{
|
512 |
+
$_xml = new DOMDocument('1.0', 'utf-8');
|
513 |
+
$_xml->formatOutput = true;
|
514 |
+
|
515 |
+
$rootElement = $_xml->createElement('root');
|
516 |
+
|
517 |
+
$productTranslateCollection = Mage::getModel('strakertranslations_easytranslationplatform/product_translate')->getCollection($this->getWriteAdapter());
|
518 |
+
$productTranslateCollection->addFieldToFilter('job_id', $this->getId());
|
519 |
+
|
520 |
+
$attributeFrontLabel = array();
|
521 |
+
|
522 |
+
foreach ($productTranslateCollection as $productTranslate) {
|
523 |
+
if (!isset($attributeFrontLabel[$productTranslate->getAttributeId()])) {
|
524 |
+
$attributeFrontLabel[$productTranslate->getAttributeId()] =
|
525 |
+
Mage::getModel('eav/entity_attribute')->load($productTranslate->getAttributeId())->getFrontendLabel();
|
526 |
+
}
|
527 |
+
|
528 |
+
$dataElement = $_xml->createElement('data');
|
529 |
+
$dataElement->setAttribute('name', $this->getTypeId() . '_' . $this->getStoreId() . '_' . $productTranslate->getAttributeId() . '_' . $productTranslate->getProductId());
|
530 |
+
$dataElement->setAttribute('content_context', $attributeFrontLabel[$productTranslate->getAttributeId()]);
|
531 |
+
$dataElement->setAttribute('content_context_url',Mage::getStoreConfig('web/unsecure/base_link_url', $this->getStoreId()) . 'catalog/category/view/id/' . $productTranslate->getProductId());
|
532 |
+
$dataElement->setAttribute('content_id', $productTranslate->getId());
|
533 |
+
|
534 |
+
$valueElement = $_xml->createElement('value');
|
535 |
+
$CDATAValueNode = $_xml->createCDATASection($productTranslate->getOriginal());
|
536 |
+
$valueElement->appendChild($CDATAValueNode);
|
537 |
+
|
538 |
+
$dataElement->appendChild($valueElement);
|
539 |
+
$rootElement->appendChild($dataElement);
|
540 |
+
}
|
541 |
+
|
542 |
+
$_xml->appendChild($rootElement);
|
543 |
+
file_put_contents(Mage::getBaseDir() . $this->_translateFilePath . 'job' . $this->getId() . '.xml', $_xml->saveXML());
|
544 |
+
$this->setSourceFile('job' . $this->getId() . '.xml')->save();
|
545 |
+
|
546 |
+
return $this;
|
547 |
+
}
|
548 |
+
|
549 |
+
protected function _createCategoryTranslateFile()
|
550 |
+
{
|
551 |
+
|
552 |
+
$_xml = new DOMDocument('1.0', 'utf-8');
|
553 |
+
$_xml->formatOutput = true;
|
554 |
+
|
555 |
+
$rootElement = $_xml->createElement('root');
|
556 |
+
|
557 |
+
$categoryTranslateCollection = Mage::getModel('strakertranslations_easytranslationplatform/category_translate')->getCollection();
|
558 |
+
$categoryTranslateCollection->addFieldToFilter('job_id', $this->getId());
|
559 |
+
|
560 |
+
$attributeFrontLabel = array();
|
561 |
+
|
562 |
+
foreach ($categoryTranslateCollection as $categoryTranslate) {
|
563 |
+
if (!isset($attributeFrontLabel[$categoryTranslate->getAttributeId()])) {
|
564 |
+
$attributeFrontLabel[$categoryTranslate->getAttributeId()] =
|
565 |
+
Mage::getModel('eav/entity_attribute')->load($categoryTranslate->getAttributeId())->getFrontendLabel();
|
566 |
+
}
|
567 |
+
|
568 |
+
$dataElement = $_xml->createElement('data');
|
569 |
+
$dataElement->setAttribute('name', $this->getTypeId() . '_' . $this->getStoreId() . '_' . $categoryTranslate->getAttributeId() . '_' . $categoryTranslate->getCategoryId());
|
570 |
+
$dataElement->setAttribute('content_context',$attributeFrontLabel[$categoryTranslate->getAttributeId()]);
|
571 |
+
$dataElement->setAttribute('content_context_url', Mage::getStoreConfig('web/unsecure/base_link_url', $this->getStoreId()) . 'catalog/category/view/id/' . $categoryTranslate->getCategoryId());
|
572 |
+
$dataElement->setAttribute('content_id', $categoryTranslate->getId());
|
573 |
+
|
574 |
+
$valueElement = $_xml->createElement('value');
|
575 |
+
$CDATAValueNode = $_xml->createCDATASection($categoryTranslate->getOriginal());
|
576 |
+
$valueElement->appendChild($CDATAValueNode);
|
577 |
+
|
578 |
+
$dataElement->appendChild($valueElement);
|
579 |
+
$rootElement->appendChild($dataElement);
|
580 |
+
}
|
581 |
+
|
582 |
+
$_xml->appendChild($rootElement);
|
583 |
+
file_put_contents(Mage::getBaseDir() . $this->_translateFilePath . 'job' . $this->getId() . '.xml', $_xml->saveXML());
|
584 |
+
$this->setSourceFile('job' . $this->getId() . '.xml')->save();
|
585 |
+
|
586 |
+
return $this;
|
587 |
+
}
|
588 |
+
|
589 |
+
protected function _createAttributeTranslateFile()
|
590 |
+
{
|
591 |
+
|
592 |
+
$_xml = new DOMDocument('1.0', 'utf-8');
|
593 |
+
$_xml->formatOutput = true;
|
594 |
+
|
595 |
+
$rootElement = $_xml->createElement('root');
|
596 |
+
|
597 |
+
$attributeTranslateCollection = Mage::getModel('strakertranslations_easytranslationplatform/attribute_translate')->getCollection();
|
598 |
+
$attributeTranslateCollection->addFieldToFilter('job_id', $this->getId());
|
599 |
+
|
600 |
+
foreach ($attributeTranslateCollection as $attributeTranslate) {
|
601 |
+
|
602 |
+
$dataInJson = json_encode(simplexml_load_string($attributeTranslate->getOriginal()));
|
603 |
+
$data = json_decode($dataInJson, true);
|
604 |
+
|
605 |
+
foreach ($data as $k => $attribute) {
|
606 |
+
if ($k == 'title' && $attribute) {
|
607 |
+
$dataElement = $_xml->createElement('data');
|
608 |
+
$dataElement->setAttribute('name', $this->getTypeId() . '_' . $this->getStoreId() . '_' . $attributeTranslate->getAttributeId());
|
609 |
+
$dataElement->setAttribute('content_context', 'product attribute title');
|
610 |
+
$dataElement->setAttribute('content_id', $attributeTranslate->getId());
|
611 |
+
|
612 |
+
$valueElement = $_xml->createElement('value');
|
613 |
+
$CDATAValueNode = $_xml->createCDATASection($attribute);
|
614 |
+
$valueElement->appendChild($CDATAValueNode);
|
615 |
+
|
616 |
+
$dataElement->appendChild($valueElement);
|
617 |
+
$rootElement->appendChild($dataElement);
|
618 |
+
}
|
619 |
+
|
620 |
+
if ($k == 'option') {
|
621 |
+
foreach ($attribute as $optionId => $optionValue) {
|
622 |
+
$dataElement = $_xml->createElement('data');
|
623 |
+
$dataElement->setAttribute('name', $this->getTypeId() . '_' . $this->getStoreId() . '_' . $attributeTranslate->getAttributeId());
|
624 |
+
$dataElement->setAttribute('content_context', 'product attribute option');
|
625 |
+
$dataElement->setAttribute('option_id', $optionId);
|
626 |
+
$dataElement->setAttribute('content_id', $attributeTranslate->getId());
|
627 |
+
|
628 |
+
$valueElement = $_xml->createElement('value');
|
629 |
+
$CDATAValueNode = $_xml->createCDATASection($optionValue);
|
630 |
+
$valueElement->appendChild($CDATAValueNode);
|
631 |
+
|
632 |
+
$dataElement->appendChild($valueElement);
|
633 |
+
$rootElement->appendChild($dataElement);
|
634 |
+
}
|
635 |
+
|
636 |
+
}
|
637 |
+
|
638 |
+
}
|
639 |
+
}
|
640 |
+
$_xml->appendChild($rootElement);
|
641 |
+
file_put_contents(Mage::getBaseDir() . $this->_translateFilePath . 'job' . $this->getId() . '.xml', $_xml->saveXML());
|
642 |
+
$this->setSourceFile('job' . $this->getId() . '.xml')->save();
|
643 |
+
|
644 |
+
return $this;
|
645 |
+
}
|
646 |
+
|
647 |
+
protected function _summitJob()
|
648 |
+
{
|
649 |
+
|
650 |
+
$request = array();
|
651 |
+
|
652 |
+
/** @var $helper StrakerTranslations_EasyTranslationPlatform_Helper_Data */
|
653 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
654 |
+
if ($helper->isSandboxMode()) {
|
655 |
+
$this->setIsTestJob(true);
|
656 |
+
}
|
657 |
+
|
658 |
+
if (!$this->getTitle()) {
|
659 |
+
$store = Mage::getModel('core/store')->load($this->getStoreId());
|
660 |
+
$defaultTitle = $store->getFrontendName() . '_' . $store->getName() . '_' . Mage::getModel('core/date')->timestamp();
|
661 |
+
$this->setTitle($defaultTitle);
|
662 |
+
}
|
663 |
+
$request['title'] = $this->getTitle();
|
664 |
+
$request['sl'] = $this->getSl();
|
665 |
+
$request['tl'] = $this->getTl();
|
666 |
+
|
667 |
+
$filePath = MAGENTO_ROOT . $this->_translateFilePath . $this->getSourceFile();
|
668 |
+
|
669 |
+
$request['source_file'] = function_exists('curl_file_create') ? curl_file_create($filePath) : '@' . $filePath;
|
670 |
+
$request['callback_uri'] = Mage::getStoreConfig('web/unsecure/base_link_url', $this->getStoreId()) . 'straker/callback';
|
671 |
+
$request['token'] = $this->getId();
|
672 |
+
/** @var StrakerTranslations_EasyTranslationPlatform_Model_Api $api */
|
673 |
+
$api = $this->_getApi();
|
674 |
+
$response = $api->callTranslate($request);
|
675 |
+
if ($response->job_key) {
|
676 |
+
$this->setStatusId(2)
|
677 |
+
->setJobKey($response->job_key)
|
678 |
+
->setTjNumber($response->tj_number)
|
679 |
+
->save();
|
680 |
+
$this->setLastStatus(1);
|
681 |
+
} else {
|
682 |
+
$this->setLastStatus(0);
|
683 |
+
$message = $response->magentoMessage ? $response->magentoMessage : 'Unknown Error.';
|
684 |
+
$this->setLastMessage($message);
|
685 |
+
}
|
686 |
+
return $this;
|
687 |
+
|
688 |
+
}
|
689 |
+
|
690 |
+
public function submitProducts($productAttributeIds, $productIds)
|
691 |
+
{
|
692 |
+
|
693 |
+
//product
|
694 |
+
$this->setTypeId(1);
|
695 |
+
$this->addProducts($productAttributeIds, $productIds)
|
696 |
+
->_createProductTranslateFile()
|
697 |
+
->_summitJob();
|
698 |
+
return $this;
|
699 |
+
}
|
700 |
+
|
701 |
+
public function submitCategories($categoryAttributeIds, $categoryIds)
|
702 |
+
{
|
703 |
+
|
704 |
+
//category
|
705 |
+
$this->setTypeId(3);
|
706 |
+
$this->addCategories($categoryAttributeIds, $categoryIds)
|
707 |
+
->_createCategoryTranslateFile()
|
708 |
+
->_summitJob();
|
709 |
+
return $this;
|
710 |
+
}
|
711 |
+
|
712 |
+
public function submitAttributes($attributeData)
|
713 |
+
{
|
714 |
+
|
715 |
+
//category
|
716 |
+
$this->setTypeId(4);
|
717 |
+
$this->addAttributes($attributeData)
|
718 |
+
->_createAttributeTranslateFile()
|
719 |
+
->_summitJob();
|
720 |
+
return $this;
|
721 |
+
}
|
722 |
+
|
723 |
+
public function submitCmsPage($cmsIds, $columns = array('title', 'content'))
|
724 |
+
{
|
725 |
+
|
726 |
+
$this->setTypeId(5);
|
727 |
+
$this->addCmsEntities($cmsIds, $columns, 'page')
|
728 |
+
->_summitJob();
|
729 |
+
return $this;
|
730 |
+
}
|
731 |
+
|
732 |
+
public function submitCmsblock($cmsIds, $columns = array('title', 'content'))
|
733 |
+
{
|
734 |
+
|
735 |
+
$this->setTypeId(6);
|
736 |
+
$this->addCmsEntities($cmsIds, $columns, 'block')
|
737 |
+
->_summitJob();
|
738 |
+
return $this;
|
739 |
+
}
|
740 |
+
|
741 |
+
public function updateQuote()
|
742 |
+
{
|
743 |
+
|
744 |
+
if ($this->getJobKey()) {
|
745 |
+
$request = array();
|
746 |
+
$request['job_key'] = $this->getJobKey();
|
747 |
+
$api = $this->_getApi();
|
748 |
+
$response = $api->getTranslation($request);
|
749 |
+
|
750 |
+
if ($response->job) {
|
751 |
+
foreach ($response->job as $job) {
|
752 |
+
if ($job->token == $this->getId()) {
|
753 |
+
$quote = $job->quotation;
|
754 |
+
if ($quote && $quote != $this->getQuote()) {
|
755 |
+
$this->setQuote($quote)->save();
|
756 |
+
return true;
|
757 |
+
}
|
758 |
+
}
|
759 |
+
}
|
760 |
+
}
|
761 |
+
}
|
762 |
+
return false;
|
763 |
+
|
764 |
+
}
|
765 |
+
|
766 |
+
public function updateTranslation()
|
767 |
+
{
|
768 |
+
$updateFlag = false;
|
769 |
+
if ($this->getJobKey()) {
|
770 |
+
$request = array();
|
771 |
+
$request['job_key'] = $this->getJobKey();
|
772 |
+
$api = $this->_getApi();
|
773 |
+
$response = $api->getTranslation($request);
|
774 |
+
if ($response->job) {
|
775 |
+
foreach ($response->job as $job) {
|
776 |
+
if ($job->token == $this->getId()) {
|
777 |
+
$updateFlag = $this->updateJob($job);
|
778 |
+
}
|
779 |
+
}
|
780 |
+
$this->setLastStatus(1);
|
781 |
+
}
|
782 |
+
else{
|
783 |
+
$this->setLastStatus(0);
|
784 |
+
$message = $response->magentoMessage?$this->setLastMessage($response->magentoMessage):'Unknown Error.';
|
785 |
+
$this->setLastMessage($message);
|
786 |
+
}
|
787 |
+
|
788 |
+
}
|
789 |
+
return $updateFlag;
|
790 |
+
}
|
791 |
+
|
792 |
+
public function bulkUpdateTranslation(){
|
793 |
+
$api = $this->_getApi();
|
794 |
+
$response = $api->getTranslation(array());
|
795 |
+
return $response->job ? $response->job : false;
|
796 |
+
}
|
797 |
+
|
798 |
+
public function updateJob($job){
|
799 |
+
$updateFlag = false;
|
800 |
+
$jobStatusId = $this->_getStatusId($job->status);
|
801 |
+
|
802 |
+
if ($jobStatusId && $job->status <> $this->getStatusName()) {
|
803 |
+
$this->setStatusId($jobStatusId)->save();
|
804 |
+
$updateFlag = true;
|
805 |
+
}
|
806 |
+
|
807 |
+
if ($job->tj_number && $job->tj_number <> $this->getTjNumber()) {
|
808 |
+
$this->setTjNumber($job->tj_number)->save();
|
809 |
+
$updateFlag = true;
|
810 |
+
}
|
811 |
+
|
812 |
+
if ($job->workflow && $job->workflow <> $this->getWorkFlow()) {
|
813 |
+
$this->setWorkFlow($job->workflow)->save();
|
814 |
+
$updateFlag = true;
|
815 |
+
}
|
816 |
+
|
817 |
+
if ($job->quotation && $job->quotation <> $this->getQuote()) {
|
818 |
+
$this->setQuote($job->quotation)->save();
|
819 |
+
$updateFlag = true;
|
820 |
+
}
|
821 |
+
foreach ($job->translated_file as $file) {
|
822 |
+
if ($file->download_url && !$this->getDownloadUrl()) {
|
823 |
+
$this->setDownloadUrl($file->download_url)->save();
|
824 |
+
$this->_importTranslation();
|
825 |
+
}
|
826 |
+
}
|
827 |
+
return $updateFlag;
|
828 |
+
}
|
829 |
+
|
830 |
+
protected function _getApi(){
|
831 |
+
|
832 |
+
return Mage::getModel('strakertranslations_easytranslationplatform/api',array('store'=>$this->getStoreId()));
|
833 |
+
}
|
834 |
+
|
835 |
+
protected function _getStatusId($statusName)
|
836 |
+
{
|
837 |
+
|
838 |
+
return Mage::getModel('strakertranslations_easytranslationplatform/job_status')->load($statusName, 'status_name')->getId();
|
839 |
+
}
|
840 |
+
|
841 |
+
protected function _importTranslation()
|
842 |
+
{
|
843 |
+
|
844 |
+
$xml = $this->_getApi()->getTranslatedFile($this->getDownloadUrl());
|
845 |
+
|
846 |
+
file_put_contents(Mage::getBaseDir() . $this->_translateFilePath . 'translated_job' . $this->getId() . '.xml', $xml, LOCK_EX);
|
847 |
+
|
848 |
+
$data = simplexml_load_string($xml);
|
849 |
+
|
850 |
+
$_translationValueGroup = array();
|
851 |
+
|
852 |
+
foreach ($data->children() as $_translation) {
|
853 |
+
|
854 |
+
$_entityTranslationId = (string)$_translation->attributes()->content_id;
|
855 |
+
if ($this->_getType() == 'attribute') {
|
856 |
+
if ($_translation->attributes()->content_context == "product attribute title") {
|
857 |
+
$_translationValueGroup[$_entityTranslationId]['title'] = (string)$_translation->value;
|
858 |
+
}
|
859 |
+
|
860 |
+
if ($_translation->attributes()->content_context == "product attribute option") {
|
861 |
+
$_translationValueGroup[$_entityTranslationId]['option']['id_' . $_translation->attributes()->option_id] = (string)$_translation->value;
|
862 |
+
}
|
863 |
+
|
864 |
+
} else {
|
865 |
+
$_translationValueGroup[$_entityTranslationId] = (string)$_translation->value;
|
866 |
+
}
|
867 |
+
|
868 |
+
}
|
869 |
+
|
870 |
+
foreach ($_translationValueGroup as $content_id => $_translationValue) {
|
871 |
+
|
872 |
+
$value = $_translationValue;
|
873 |
+
|
874 |
+
if (is_array($_translationValue)) {
|
875 |
+
$xml = new SimpleXMLElement('<attribute/>');
|
876 |
+
$this->array_to_xml($_translationValue, $xml);
|
877 |
+
$value = (string)$xml->asXML();
|
878 |
+
}
|
879 |
+
|
880 |
+
|
881 |
+
$_entityTranslation = Mage::getModel('strakertranslations_easytranslationplatform/' . $this->_getType() . '_translate')->load($content_id);
|
882 |
+
$_entityTranslation->setTranslate($value);
|
883 |
+
$_entityTranslation->save();
|
884 |
+
$_entityTranslation->clearInstance();
|
885 |
+
}
|
886 |
+
|
887 |
+
return $this->setDownloadedVersion(1)->save();
|
888 |
+
|
889 |
+
}
|
890 |
+
|
891 |
+
protected function _getType()
|
892 |
+
{
|
893 |
+
return str_replace(' ', '_', strtolower($this->getTypeName()));
|
894 |
+
}
|
895 |
+
|
896 |
+
public function updatePayment()
|
897 |
+
{
|
898 |
+
|
899 |
+
if ($this->getJobKey()) {
|
900 |
+
$request = array();
|
901 |
+
$request['job_key'] = $this->getJobKey();
|
902 |
+
$api = $this->_getApi();
|
903 |
+
$response = $api->getPayment($request);
|
904 |
+
|
905 |
+
if (!empty($response) && $response->status == "Paid") { ///////waiting for payment api
|
906 |
+
$this->setPaymentStatus(1)->save();
|
907 |
+
return true;
|
908 |
+
}
|
909 |
+
}
|
910 |
+
return false;
|
911 |
+
}
|
912 |
+
|
913 |
+
public function applyTranslation($entityIds = array())
|
914 |
+
{
|
915 |
+
|
916 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/' . $this->_getType() . '_translate')->getCollection()->addFieldToFilter('job_id', $this->getId());
|
917 |
+
|
918 |
+
if ($entityIds) {
|
919 |
+
$collection->addFieldToFilter($this->_getType() . '_id', array('in' => $entityIds));
|
920 |
+
}
|
921 |
+
|
922 |
+
$updatedIds = array();
|
923 |
+
$writeConnection = $this->getWriteAdapter();
|
924 |
+
|
925 |
+
if (in_array($this->_getType(), array('cms_block', 'cms_page'))) {
|
926 |
+
$this->createNewCms($entityIds);
|
927 |
+
}
|
928 |
+
|
929 |
+
foreach ($collection as $translation) {
|
930 |
+
$translation->setStoreId($this->getStoreId())->importTranslation();
|
931 |
+
|
932 |
+
$entityId = call_user_func(array($translation, 'getData'), strtolower(str_replace(' ', '_', $this->getTypeName() . '_id')));
|
933 |
+
|
934 |
+
if (empty($updatedIds[$entityId])) {
|
935 |
+
$updatedIds[$entityId] = true;
|
936 |
+
$prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
937 |
+
if (in_array($this->_getType(), array('cms_block', 'cms_page'))) {
|
938 |
+
$cmstableName = str_replace('_', '', $this->_getType());
|
939 |
+
$cmsColumnName = str_replace('cms_', '', $this->_getType());
|
940 |
+
$entityId = $translation->getData($this->_getType() . '_id');
|
941 |
+
$writeConnection->update($prefix . 'straker_job_' . $cmstableName, array('version' => 1), $cmsColumnName . "_id = {$entityId} and job_id ={$this->getId()}");
|
942 |
+
} else {
|
943 |
+
$writeConnection->update($prefix . 'straker_job_' . $this->_getType(), array('version' => 1), $this->_getType() . "_id = {$entityId} and job_id ={$this->getId()}");
|
944 |
+
}
|
945 |
+
}
|
946 |
+
}
|
947 |
+
|
948 |
+
return true;
|
949 |
+
}
|
950 |
+
|
951 |
+
protected function createNewCms($entityIds)
|
952 |
+
{
|
953 |
+
|
954 |
+
|
955 |
+
$cmsType = str_replace('cms_', '', $this->_getType());
|
956 |
+
|
957 |
+
$cmsModelName = str_replace('_', '/', $this->_getType());
|
958 |
+
|
959 |
+
|
960 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/job_' . $this->_getType())->getCollection();
|
961 |
+
|
962 |
+
$collection->addFieldToFilter('job_id', $this->getId());
|
963 |
+
|
964 |
+
if ($entityIds) {
|
965 |
+
$collection->addFieldToFilter($cmsType . '_id', array('in' => $entityIds));
|
966 |
+
}
|
967 |
+
|
968 |
+
foreach ($collection as $jobCms) {
|
969 |
+
|
970 |
+
if (!$jobCms->getNewEntityId()) {
|
971 |
+
|
972 |
+
$cmsModel = Mage::getModel($cmsModelName);
|
973 |
+
|
974 |
+
$cmsData = json_decode($jobCms->getOrigin());
|
975 |
+
|
976 |
+
foreach ($cmsData as $k => $v) {
|
977 |
+
$cmsModel->setData($k, $v);
|
978 |
+
}
|
979 |
+
//add target store id
|
980 |
+
// $cmsModel->setStores(array())->save();
|
981 |
+
$cmsModel->setStores([$this->getStoreId()])->save();
|
982 |
+
$jobCms->setNewEntityId($cmsModel->getId())->save();
|
983 |
+
|
984 |
+
}
|
985 |
+
|
986 |
+
}
|
987 |
+
|
988 |
+
}
|
989 |
+
|
990 |
+
public function isPublished()
|
991 |
+
{
|
992 |
+
if ($this->getStatusId() == 5) {
|
993 |
+
return true;
|
994 |
+
} elseif ($this->getStatusId() == 4) {
|
995 |
+
return $this->updatePublishedStatus()->getStatus() == 5;
|
996 |
+
} else {
|
997 |
+
return false;
|
998 |
+
}
|
999 |
+
}
|
1000 |
+
|
1001 |
+
protected function updatePublishedStatus()
|
1002 |
+
{
|
1003 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/job_' . $this->_getType())->getCollection()->addFieldToFilter('job_id', $this->getId());
|
1004 |
+
$collection->addFieldToFilter('version',
|
1005 |
+
array(
|
1006 |
+
array('neq' => '1'),
|
1007 |
+
array('null' => true)
|
1008 |
+
)
|
1009 |
+
);
|
1010 |
+
if (!$collection->getFirstItem()->getId()) {
|
1011 |
+
$this->setStatusId(5)->save();
|
1012 |
+
}
|
1013 |
+
return $this;
|
1014 |
+
}
|
1015 |
+
|
1016 |
+
public function submitSupport(array $data)
|
1017 |
+
{
|
1018 |
+
|
1019 |
+
$res = $this->_getApi()->callSupport($data);
|
1020 |
+
|
1021 |
+
return $res->success;
|
1022 |
+
|
1023 |
+
}
|
1024 |
+
|
1025 |
+
public function checkAndCreateFolder()
|
1026 |
+
{
|
1027 |
+
|
1028 |
+
$ioAdapter = new Varien_Io_File();
|
1029 |
+
try {
|
1030 |
+
$ioAdapter->checkAndCreateFolder(Mage::getBaseDir('var') . DS . 'straker');
|
1031 |
+
} catch (Exception $e) {
|
1032 |
+
Mage::throwException($e->getMessage());
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
return $this;
|
1036 |
+
|
1037 |
+
}
|
1038 |
+
|
1039 |
+
protected function getWriteAdapter()
|
1040 |
+
{
|
1041 |
+
return Mage::getSingleton('core/resource')->getConnection('core_write');
|
1042 |
+
}
|
1043 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Attribute.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 18/01/16
|
6 |
+
* Time: 7:39 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Job_Attribute extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_attribute');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Category.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/11/15
|
6 |
+
* Time: 8:52 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Job_Category extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_category');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Cms/Block.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:04 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Job_Cms_Block extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_cms_block');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Cms/Page.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:02 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Job_Cms_Page extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_cms_page');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Product.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 4:38 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Job_Product extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_product');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Status.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:43 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Job_Status extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_status');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Job/Type.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:41 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Job_Type extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_type');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Product/Attributes.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:43 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Product_Attributes extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/product_attributes');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Product/Translate.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:46 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Product_Translate extends Mage_Core_Model_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/product_translate');
|
14 |
+
}
|
15 |
+
|
16 |
+
public function importTranslation(){
|
17 |
+
|
18 |
+
//if translated value is null, skip
|
19 |
+
$translatedValue = $this->getTranslate();
|
20 |
+
if (is_null($translatedValue)){
|
21 |
+
return;
|
22 |
+
}
|
23 |
+
|
24 |
+
$product = Mage::getModel('catalog/product')->setStoreId($this->getStoreId())->load($this->getProductId());
|
25 |
+
|
26 |
+
$productAttributeCode = $this->_getAttributeCode($this->getAttributeId());
|
27 |
+
|
28 |
+
$this->setBackup($product->getData($productAttributeCode));
|
29 |
+
|
30 |
+
$product->setData($productAttributeCode, $translatedValue)
|
31 |
+
->getResource()
|
32 |
+
->saveAttribute($product, $productAttributeCode);
|
33 |
+
$this->setIsImported(1)->save();
|
34 |
+
|
35 |
+
$product->clearInstance();
|
36 |
+
|
37 |
+
}
|
38 |
+
|
39 |
+
protected function _getAttributeCode($attributeId){
|
40 |
+
|
41 |
+
if (!Mage::registry('attributeCodeCache_'.$attributeId)){
|
42 |
+
$productAttributeCode = Mage::getModel('eav/entity_attribute')->load($attributeId)->getAttributeCode();
|
43 |
+
Mage::register('attributeCodeCache_'.$attributeId,$productAttributeCode);
|
44 |
+
}else{
|
45 |
+
$productAttributeCode = Mage::registry('attributeCodeCache_'.$attributeId);
|
46 |
+
}
|
47 |
+
return $productAttributeCode;
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Actionlog.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 4:06 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Actionlog extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/actionlog', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Actionlog/Collection.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 4:06 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Actionlog_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/actionlog');
|
14 |
+
}
|
15 |
+
|
16 |
+
|
17 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Attribute/Translate.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 18/01/16
|
6 |
+
* Time: 7:41 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Attribute_Translate extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/straker_attribute_translate', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Attribute/Translate/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 18/01/16
|
6 |
+
* Time: 7:41 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Attribute_Translate_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/attribute_translate');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Category/Attributes.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/11/15
|
6 |
+
* Time: 8:55 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Category_Attributes extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/category_attributes', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Category/Attributes/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/11/15
|
6 |
+
* Time: 8:55 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Category_Attributes_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/category_attributes');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Category/Translate.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/11/15
|
6 |
+
* Time: 8:53 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Category_Translate extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/category_translate', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Category/Translate/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/11/15
|
6 |
+
* Time: 8:53 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Category_Translate_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/category_translate');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Block/Attributes.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 19/05/16
|
6 |
+
* Time: 3:28 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Cms_Block_Attributes extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_block_attributes', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Block/Attributes/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 19/05/16
|
6 |
+
* Time: 3:28 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Cms_Block_Attributes_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_block_attributes');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Block/Translate.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:07 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Cms_Block_Translate extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_block_translate', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Block/Translate/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:07 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Cms_Block_Translate_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_block_translate');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Page/Attributes.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 19/05/16
|
6 |
+
* Time: 3:28 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Cms_Page_Attributes extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_page_attributes', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Page/Attributes/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 19/05/16
|
6 |
+
* Time: 3:29 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Cms_Page_Attributes_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_page_attributes');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Page/Translate.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:06 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Cms_Page_Translate extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_page_translate', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Cms/Page/Translate/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:06 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Cms_Page_Translate_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/cms_page_translate');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Created by PhpStorm.
|
5 |
+
* User: WlliamZhao
|
6 |
+
* Date: 30/09/15
|
7 |
+
* Time: 4:37 PM
|
8 |
+
*/
|
9 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job extends Mage_Core_Model_Resource_Db_Abstract {
|
10 |
+
|
11 |
+
protected function _construct() {
|
12 |
+
$this->_init('strakertranslations_easytranslationplatform/job', 'id');
|
13 |
+
}
|
14 |
+
|
15 |
+
protected function _getLoadSelect($field, $value, $object) {
|
16 |
+
// $prefix = Mage::getConfig()->getTablePrefix()->__toString();
|
17 |
+
$strakerJobTableName = $this->getTable('strakertranslations_easytranslationplatform/job');
|
18 |
+
$select = parent::_getLoadSelect($field, $value, $object)
|
19 |
+
->join(array('t' => $this->getTable('strakertranslations_easytranslationplatform/job_type')),
|
20 |
+
$strakerJobTableName.'.type_id=t.type_id',
|
21 |
+
array('type_name')
|
22 |
+
)
|
23 |
+
->join(array('s' => $this->getTable('strakertranslations_easytranslationplatform/job_status')),
|
24 |
+
$strakerJobTableName.'.status_id=s.status_id',
|
25 |
+
array('status_name')
|
26 |
+
);
|
27 |
+
|
28 |
+
return $select;
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Prepare data for save
|
33 |
+
*
|
34 |
+
* @param Mage_Core_Model_Abstract $object
|
35 |
+
* @return array
|
36 |
+
*/
|
37 |
+
protected function _prepareDataForSave(Mage_Core_Model_Abstract $object) {
|
38 |
+
$currentTime = Varien_Date::now();
|
39 |
+
if ((!$object->getId() || $object->isObjectNew()) && !$object->getCreatedAt()) {
|
40 |
+
$object->setCreatedAt($currentTime);
|
41 |
+
}
|
42 |
+
$object->setUpdatedAt($currentTime);
|
43 |
+
$data = parent::_prepareDataForSave($object);
|
44 |
+
return $data;
|
45 |
+
}
|
46 |
+
|
47 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Attribute.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 18/01/16
|
6 |
+
* Time: 7:39 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Attribute extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_attribute', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Attribute/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 18/01/16
|
6 |
+
* Time: 7:39 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Attribute_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_attribute');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Category.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/11/15
|
6 |
+
* Time: 8:52 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Category extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_category', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Category/Collection.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/11/15
|
6 |
+
* Time: 8:52 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Category_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_category');
|
14 |
+
}
|
15 |
+
|
16 |
+
public function getAllIds()
|
17 |
+
{
|
18 |
+
$idsSelect = clone $this->getSelect();
|
19 |
+
$idsSelect->reset(Zend_Db_Select::ORDER);
|
20 |
+
$idsSelect->reset(Zend_Db_Select::LIMIT_COUNT);
|
21 |
+
$idsSelect->reset(Zend_Db_Select::LIMIT_OFFSET);
|
22 |
+
$idsSelect->reset(Zend_Db_Select::COLUMNS);
|
23 |
+
|
24 |
+
$idsSelect->columns('category_id', 'main_table');
|
25 |
+
return $this->getConnection()->fetchCol($idsSelect);
|
26 |
+
}
|
27 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Cms/Block.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:04 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Cms_Block extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_cmsblock', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Cms/Block/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:04 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Cms_Block_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_cms_block');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Cms/Page.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:02 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Cms_Page extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_cmspage', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Cms/Page/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 12/05/16
|
6 |
+
* Time: 12:02 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Cms_Page_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_cms_page');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 4:37 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Product.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 4:38 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Product extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_product', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Product/Collection.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 4:38 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Product_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_product');
|
14 |
+
}
|
15 |
+
|
16 |
+
public function getAllIds()
|
17 |
+
{
|
18 |
+
$idsSelect = clone $this->getSelect();
|
19 |
+
$idsSelect->reset(Zend_Db_Select::ORDER);
|
20 |
+
$idsSelect->reset(Zend_Db_Select::LIMIT_COUNT);
|
21 |
+
$idsSelect->reset(Zend_Db_Select::LIMIT_OFFSET);
|
22 |
+
$idsSelect->reset(Zend_Db_Select::COLUMNS);
|
23 |
+
|
24 |
+
$idsSelect->columns('product_id', 'main_table');
|
25 |
+
return $this->getConnection()->fetchCol($idsSelect);
|
26 |
+
}
|
27 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Status.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:43 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Status extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_status', 'status_id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Status/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:43 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Status_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_status');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Type.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:41 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Type extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_type', 'type_id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Job/Type/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:41 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Type_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/job_type');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Product/Attributes.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:44 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Product_Attributes extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/product_attributes', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Product/Attributes/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:44 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Product_Attributes_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/product_attributes');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Product/Translate.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:46 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Product_Translate extends Mage_Core_Model_Resource_Db_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/product_translate', 'id');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/Resource/Product/Translate/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: WlliamZhao
|
5 |
+
* Date: 30/09/15
|
6 |
+
* Time: 8:46 PM
|
7 |
+
*/
|
8 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_Resource_Product_Translate_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->_init('strakertranslations_easytranslationplatform/product_translate');
|
14 |
+
}
|
15 |
+
|
16 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/Model/System/Config/Source/SiteMode.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Adminhtml
|
23 |
+
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Used in creating options for Yes|No config value selection
|
29 |
+
*
|
30 |
+
*/
|
31 |
+
class StrakerTranslations_EasyTranslationPlatform_Model_System_Config_Source_SiteMode{
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Options getter
|
35 |
+
*
|
36 |
+
* @return array
|
37 |
+
*/
|
38 |
+
public function toOptionArray()
|
39 |
+
{
|
40 |
+
return array(
|
41 |
+
array('value' => 0, 'label'=>Mage::helper('adminhtml')->__('Sandbox')),
|
42 |
+
array('value' => 1, 'label'=>Mage::helper('adminhtml')->__('Live')),
|
43 |
+
);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Get options in "key-value" format
|
48 |
+
*
|
49 |
+
* @return array
|
50 |
+
*/
|
51 |
+
public function toArray()
|
52 |
+
{
|
53 |
+
return array(
|
54 |
+
0 => Mage::helper('adminhtml')->__('Sandbox'),
|
55 |
+
1 => Mage::helper('adminhtml')->__('Live'),
|
56 |
+
);
|
57 |
+
}
|
58 |
+
|
59 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/AttributeController.php
ADDED
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
Class StrakerTranslations_EasyTranslationPlatform_Adminhtml_Straker_AttributeController extends Mage_Adminhtml_Controller_Action{
|
3 |
+
protected function _isAllowed()
|
4 |
+
{
|
5 |
+
return Mage::getSingleton('admin/session')->isAllowed('admin/straker/job');
|
6 |
+
}
|
7 |
+
|
8 |
+
protected function _initAction()
|
9 |
+
{
|
10 |
+
$this->checkSiteMode();
|
11 |
+
|
12 |
+
$this
|
13 |
+
->loadLayout()
|
14 |
+
->_setActiveMenu('straker/job')
|
15 |
+
;
|
16 |
+
|
17 |
+
return $this;
|
18 |
+
}
|
19 |
+
|
20 |
+
protected function _initNewAction()
|
21 |
+
{
|
22 |
+
$this->checkSiteMode();
|
23 |
+
|
24 |
+
$this
|
25 |
+
->loadLayout()
|
26 |
+
->_setActiveMenu('straker/new')
|
27 |
+
;
|
28 |
+
|
29 |
+
return $this;
|
30 |
+
}
|
31 |
+
|
32 |
+
|
33 |
+
public function indexAction(){
|
34 |
+
|
35 |
+
if (!$this->getRequest()->getParam('job_id')){
|
36 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
37 |
+
$this->_redirect('*/straker_job/');
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
|
41 |
+
$this->_title($this->__('Straker Translations'))
|
42 |
+
->_title($this->__('Manage Jobs'));
|
43 |
+
|
44 |
+
$this->loadLayout()->_setActiveMenu('straker/job');
|
45 |
+
$this->renderLayout();
|
46 |
+
|
47 |
+
}
|
48 |
+
|
49 |
+
public function newAction(){
|
50 |
+
$params = $this->getRequest()->getParams();
|
51 |
+
if (empty($params['store'])) {
|
52 |
+
$this->_redirect('*/straker_new');
|
53 |
+
return;
|
54 |
+
}
|
55 |
+
else{
|
56 |
+
return $this->_initNewAction()
|
57 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_attribute','strakertranslations_easytranslationplatform_new_attribute',array('setup_store_id' => $params['store'])))
|
58 |
+
->renderLayout();
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
public function addtoconfirmAction(){
|
63 |
+
$data = $this->getRequest()->getParams();
|
64 |
+
if(empty($data['attribute']) && empty($data['option'])){
|
65 |
+
$data['attribute'] = Mage::getSingleton('adminhtml/session')->getData('straker_new_attribute');
|
66 |
+
$data['option'] = Mage::getSingleton('adminhtml/session')->getData('straker_new_option');
|
67 |
+
}
|
68 |
+
$data['store'] = !empty($data['store']) ? $data['store'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_store');
|
69 |
+
|
70 |
+
if( $data['store'] && ($data['attribute'] || $data['option']) ){
|
71 |
+
Mage::getSingleton('adminhtml/session')
|
72 |
+
->setData('straker_new_attribute', $data['attribute'])
|
73 |
+
->setData('straker_new_option', $data['option'])
|
74 |
+
->setData('straker_new_store', $data['store'])
|
75 |
+
;
|
76 |
+
return $this->_initAction()
|
77 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_attribute_confirm', 'strakertranslations_easytranslationplatform_new_attribute_confirm', array('store' => $data['store'], 'attribute' => $data['attribute']?$data['attribute']:array(), 'option' => $data['option']?$data['option']:array())))
|
78 |
+
->renderLayout();
|
79 |
+
}
|
80 |
+
else {
|
81 |
+
$this->_redirect('*/straker_new/', $data);
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
public function submitjobAction(){
|
86 |
+
$data = $this->getRequest()->getParams();
|
87 |
+
if( $data['store'] && isset($data['attribute']) && isset($data['option']) ){
|
88 |
+
$attribute = !empty($data['attribute'])?explode(',', $data['attribute']):array();
|
89 |
+
$option = !empty($data['option'])?explode(',', $data['option']):array();
|
90 |
+
//prepare attribute array in nested
|
91 |
+
foreach( array_unique( array_merge(
|
92 |
+
$attribute,
|
93 |
+
$option
|
94 |
+
) ) as $attributeId) {
|
95 |
+
|
96 |
+
$attributeData[$attributeId]['label'] = in_array($attributeId, $attribute, true) ? 1 : 0;
|
97 |
+
$attributeData[$attributeId]['option'] = in_array($attributeId, $option, true) ? 1 : 0;
|
98 |
+
|
99 |
+
}
|
100 |
+
|
101 |
+
|
102 |
+
|
103 |
+
|
104 |
+
|
105 |
+
//todo: insert model submit job from here
|
106 |
+
// var_dump($attributeData); die();
|
107 |
+
|
108 |
+
$jobModel = Mage::getModel('strakertranslations_easytranslationplatform/job');
|
109 |
+
try {
|
110 |
+
$jobModel->checkAndCreateFolder();
|
111 |
+
}
|
112 |
+
catch (Mage_Core_Exception $e){
|
113 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
114 |
+
$this->_redirect('*/*/', array(
|
115 |
+
'store' => $data['store'],
|
116 |
+
'attr' => $data['attr']
|
117 |
+
));
|
118 |
+
return;
|
119 |
+
}
|
120 |
+
foreach(explode(',', $data['attr']) as $attributeCode){
|
121 |
+
$attr_ids[] = $attribute = Mage::getSingleton('eav/config')
|
122 |
+
->getAttribute(Mage_Catalog_Model_Product::ENTITY, $attributeCode)->getAttributeId();
|
123 |
+
}
|
124 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
125 |
+
$storeSetup = $helper->getStoreSetup($data['store']);
|
126 |
+
$jobModel->setStoreId($data['store']);
|
127 |
+
$jobModel->setSl($storeSetup['from']);
|
128 |
+
$jobModel->setTl($storeSetup['to']);
|
129 |
+
$jobModel->setToken('Token');
|
130 |
+
$jobModel->submitAttributes($attributeData);
|
131 |
+
if ($jobModel->getLastStatus()) {
|
132 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('New job created');
|
133 |
+
$this->_redirect('*/straker_job/');
|
134 |
+
}
|
135 |
+
else{
|
136 |
+
Mage::getSingleton('adminhtml/session')->addError($jobModel->getLastMessage());
|
137 |
+
$this->_redirect('*/*/new');
|
138 |
+
}
|
139 |
+
}
|
140 |
+
else {
|
141 |
+
$this->_redirect('*/*/new', $data);
|
142 |
+
}
|
143 |
+
}
|
144 |
+
|
145 |
+
public function copyAllAction(){
|
146 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
147 |
+
|
148 |
+
if (!$job->getId()){
|
149 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
150 |
+
$this->_redirect('*/straker_job/');
|
151 |
+
return;
|
152 |
+
}
|
153 |
+
|
154 |
+
if($job->applyTranslation()) {
|
155 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Translation has been applied.');
|
156 |
+
$this->_redirect('*/straker_job/');
|
157 |
+
return;
|
158 |
+
} else {
|
159 |
+
Mage::getSingleton('adminhtml/session')->addError('Error when applying translation.');
|
160 |
+
$this->_redirect('*/straker_job/');
|
161 |
+
return;
|
162 |
+
}
|
163 |
+
|
164 |
+
}
|
165 |
+
|
166 |
+
public function applyTranslationAction(){
|
167 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
168 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId);
|
169 |
+
|
170 |
+
if (!$job->getId()){
|
171 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
172 |
+
$this->_redirect('*/straker_job/');
|
173 |
+
return;
|
174 |
+
}
|
175 |
+
$attributeIds = $this->getRequest()->getParam('attribute');
|
176 |
+
if(!empty($attributeIds)) {
|
177 |
+
if ($job->applyTranslation($attributeIds)) {
|
178 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Translation has been applied.');
|
179 |
+
$this->_redirect('*/straker_attribute/',array('job_id' => $jobId));
|
180 |
+
return;
|
181 |
+
} else {
|
182 |
+
Mage::getSingleton('adminhtml/session')->addError('Error when applying translation.');
|
183 |
+
$this->_redirect('*/straker_attribute/',array('job_id' => $jobId));
|
184 |
+
return;
|
185 |
+
}
|
186 |
+
}
|
187 |
+
else{
|
188 |
+
Mage::getSingleton('adminhtml/session')->addError('Please select attributes to apply the translation.');
|
189 |
+
$this->_redirect('*/straker_attribute/',array('job_id' => $jobId));
|
190 |
+
return;
|
191 |
+
}
|
192 |
+
|
193 |
+
}
|
194 |
+
|
195 |
+
private function checkSiteMode(){
|
196 |
+
/** @var $helper StrakerTranslations_EasyTranslationPlatform_Helper_Data */
|
197 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
198 |
+
$helper->checkSiteMode();
|
199 |
+
}
|
200 |
+
|
201 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/CategoryController.php
ADDED
@@ -0,0 +1,219 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
Class StrakerTranslations_EasyTranslationPlatform_Adminhtml_Straker_CategoryController extends Mage_Adminhtml_Controller_Action{
|
3 |
+
|
4 |
+
protected function _isAllowed()
|
5 |
+
{
|
6 |
+
return Mage::getSingleton('admin/session')->isAllowed('admin/straker/job');
|
7 |
+
}
|
8 |
+
|
9 |
+
protected function _initAction()
|
10 |
+
{
|
11 |
+
$this->checkSiteMode();
|
12 |
+
|
13 |
+
$this
|
14 |
+
->loadLayout()
|
15 |
+
->_setActiveMenu('straker/job')
|
16 |
+
;
|
17 |
+
|
18 |
+
return $this;
|
19 |
+
}
|
20 |
+
|
21 |
+
protected function _initNewAction()
|
22 |
+
{
|
23 |
+
$this->checkSiteMode();
|
24 |
+
|
25 |
+
$this
|
26 |
+
->loadLayout()
|
27 |
+
->_setActiveMenu('straker/new')
|
28 |
+
;
|
29 |
+
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
|
30 |
+
$this->_title($this->__('Create New Job'));
|
31 |
+
return $this;
|
32 |
+
}
|
33 |
+
|
34 |
+
public function newAction(){
|
35 |
+
$params = $this->getRequest()->getParams();
|
36 |
+
if (empty($params['store'])) {
|
37 |
+
$this->_redirect('*/straker_new');
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
elseif (empty($params['attr'])) {
|
41 |
+
return $this->_initNewAction()
|
42 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_category_attribute', 'strakertranslations_easytranslationplatform_new_categories_attribute', array('setup_store_id' => $params['store'])))
|
43 |
+
->renderLayout();
|
44 |
+
}
|
45 |
+
else{
|
46 |
+
return $this->_initNewAction()
|
47 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_category_tree', 'strakertranslations_easytranslationplatform_l_new_category_tree', array('setup_store_id' => $params['store'], 'attr' => $params['attr'])))
|
48 |
+
->renderLayout();
|
49 |
+
}
|
50 |
+
}
|
51 |
+
|
52 |
+
public function attributeAction(){
|
53 |
+
$data = $this->getRequest()->getParams();
|
54 |
+
if($data['attr'] && $data['store']){
|
55 |
+
$this->_redirect('*/*/new', array('store' => $data['store'], 'attr' => implode(",",array_keys($data['attr']))));
|
56 |
+
}
|
57 |
+
else {
|
58 |
+
$this->_redirect('*/straker_new/');
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
public function confirmCategoryAction(){
|
63 |
+
$data = $this->getRequest()->getParams();
|
64 |
+
$data['attr'] = !empty($data['attr']) ? $data['attr'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_attr');
|
65 |
+
$data['store'] = !empty($data['store']) ? $data['store'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_store');
|
66 |
+
$data['category'] = !empty($data['category']) ? $data['category'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_category');
|
67 |
+
//format category
|
68 |
+
$categoryIds = array_filter(array_unique(explode(',', $data['category'])));
|
69 |
+
if(!empty($data['attr']) && !empty($data['store']) && !empty($categoryIds)){
|
70 |
+
Mage::getSingleton('adminhtml/session')
|
71 |
+
->setData('straker_new_attr', $data['attr'])
|
72 |
+
->setData('straker_new_store', $data['store'])
|
73 |
+
->setData('straker_new_category', $data['category'])
|
74 |
+
;
|
75 |
+
return $this->_initNewAction()
|
76 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_category_confirm', 'strakertranslations_easytranslationplatform__new_category_confirm', array('store' => $data['store'], 'attr' => $data['attr'], 'category' => $categoryIds)))
|
77 |
+
->renderLayout();
|
78 |
+
}
|
79 |
+
else{
|
80 |
+
$this->_redirect('*/*/new', array('attr'=>$data['attr'],'store'=>$data['store']));
|
81 |
+
}
|
82 |
+
}
|
83 |
+
|
84 |
+
public function submitjobAction()
|
85 |
+
{
|
86 |
+
$data = $this->getRequest()->getParams();
|
87 |
+
if($data['attr'] && $data['store'] && $data['category']){
|
88 |
+
$jobModel = Mage::getModel('strakertranslations_easytranslationplatform/job');
|
89 |
+
try {
|
90 |
+
$jobModel->checkAndCreateFolder();
|
91 |
+
}
|
92 |
+
catch (Mage_Core_Exception $e){
|
93 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
94 |
+
$this->_redirect('*/*/', array(
|
95 |
+
'store' => $data['store'],
|
96 |
+
'attr' => $data['attr']
|
97 |
+
));
|
98 |
+
return;
|
99 |
+
}
|
100 |
+
foreach(explode(',', $data['attr']) as $attributeCode){
|
101 |
+
$attr_ids[] = $attribute = Mage::getSingleton('eav/config')
|
102 |
+
->getAttribute(Mage_Catalog_Model_Category::ENTITY, $attributeCode)->getAttributeId();
|
103 |
+
}
|
104 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
105 |
+
$storeSetup = $helper->getStoreSetup($data['store']);
|
106 |
+
$jobModel->setStoreId($data['store']);
|
107 |
+
$jobModel->setSl($storeSetup['from']);
|
108 |
+
$jobModel->setTl($storeSetup['to']);
|
109 |
+
$jobModel->setToken('Token');
|
110 |
+
$jobModel->submitCategories($attr_ids, explode(',',$data['category']));
|
111 |
+
if ($jobModel->getLastStatus()) {
|
112 |
+
Mage::getSingleton('adminhtml/session')
|
113 |
+
->setData('straker_new_attr', '')
|
114 |
+
->setData('straker_new_store', '')
|
115 |
+
->setData('straker_new_category', '')
|
116 |
+
;
|
117 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('New job created');
|
118 |
+
$this->_redirect('*/straker_job/');
|
119 |
+
}
|
120 |
+
else{
|
121 |
+
Mage::getSingleton('adminhtml/session')->addError($jobModel->getLastMessage());
|
122 |
+
$this->_redirect('*/*/new');
|
123 |
+
}
|
124 |
+
}
|
125 |
+
else {
|
126 |
+
$this->_redirect('*/*/new', $data);
|
127 |
+
}
|
128 |
+
|
129 |
+
}
|
130 |
+
|
131 |
+
public function categoriesJsonAction()
|
132 |
+
{
|
133 |
+
$this->getResponse()->setBody(
|
134 |
+
$this->getLayout()->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_category_tree')
|
135 |
+
->getCategoryChildrenJson($this->getRequest()->getParam('category'))
|
136 |
+
);
|
137 |
+
}
|
138 |
+
|
139 |
+
public function indexAction(){
|
140 |
+
|
141 |
+
if (!$this->getRequest()->getParam('job_id')){
|
142 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
143 |
+
$this->_redirect('*/straker_job/');
|
144 |
+
return;
|
145 |
+
}
|
146 |
+
|
147 |
+
$this->_title($this->__('Straker Translations'))
|
148 |
+
->_title($this->__('Manage Jobs'));
|
149 |
+
|
150 |
+
$this->loadLayout()->_setActiveMenu('straker/job');
|
151 |
+
$this->renderLayout();
|
152 |
+
|
153 |
+
// try {
|
154 |
+
// $this->_title($this->__('Manage Jobs'));
|
155 |
+
// return $this->_initAction()
|
156 |
+
// ->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_job_grid'))
|
157 |
+
// ->renderLayout();
|
158 |
+
// } catch (Exception $e) {
|
159 |
+
// Mage::getSingleton('core/session')->addError($this->__('Error occurred. Please contact service administrator.'));
|
160 |
+
// $this->_redirect('adminhtml/dashboard');
|
161 |
+
// }
|
162 |
+
}
|
163 |
+
|
164 |
+
public function copyAllAction(){
|
165 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
166 |
+
|
167 |
+
if (!$job->getId()){
|
168 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
169 |
+
$this->_redirect('*/straker_job/');
|
170 |
+
return;
|
171 |
+
}
|
172 |
+
|
173 |
+
if($job->applyTranslation()) {
|
174 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Translation has been applied.');
|
175 |
+
$this->_redirect('*/straker_job/');
|
176 |
+
return;
|
177 |
+
} else {
|
178 |
+
Mage::getSingleton('adminhtml/session')->addError('Error when applying translation.');
|
179 |
+
$this->_redirect('*/straker_job/');
|
180 |
+
return;
|
181 |
+
}
|
182 |
+
|
183 |
+
}
|
184 |
+
|
185 |
+
public function applyTranslationAction(){
|
186 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
187 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId);
|
188 |
+
|
189 |
+
if (!$job->getId()){
|
190 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
191 |
+
$this->_redirect('*/straker_job/');
|
192 |
+
return;
|
193 |
+
}
|
194 |
+
$categoryIds = $this->getRequest()->getParam('category');
|
195 |
+
if(!empty($categoryIds)) {
|
196 |
+
if ($job->applyTranslation($categoryIds)) {
|
197 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Translation has been applied.');
|
198 |
+
$this->_redirect('*/straker_category/',array('job_id' => $jobId));
|
199 |
+
return;
|
200 |
+
} else {
|
201 |
+
Mage::getSingleton('adminhtml/session')->addError('Error when applying translation.');
|
202 |
+
$this->_redirect('*/straker_category/',array('job_id' => $jobId));
|
203 |
+
return;
|
204 |
+
}
|
205 |
+
}
|
206 |
+
else{
|
207 |
+
Mage::getSingleton('adminhtml/session')->addError('Please select categorys to apply the translation.');
|
208 |
+
$this->_redirect('*/straker_category/',array('job_id' => $jobId));
|
209 |
+
return;
|
210 |
+
}
|
211 |
+
|
212 |
+
}
|
213 |
+
|
214 |
+
private function checkSiteMode(){
|
215 |
+
/** @var $helper StrakerTranslations_EasyTranslationPlatform_Helper_Data */
|
216 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
217 |
+
$helper->checkSiteMode();
|
218 |
+
}
|
219 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/Cms/BlockController.php
ADDED
@@ -0,0 +1,186 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
Class StrakerTranslations_EasyTranslationPlatform_Adminhtml_Straker_Cms_BlockController extends Mage_Adminhtml_Controller_Action{
|
3 |
+
protected function _isAllowed()
|
4 |
+
{
|
5 |
+
return Mage::getSingleton('admin/session')->isAllowed('admin/straker/job');
|
6 |
+
}
|
7 |
+
|
8 |
+
protected function _initAction()
|
9 |
+
{
|
10 |
+
$this
|
11 |
+
->loadLayout()
|
12 |
+
->_setActiveMenu('straker/job')
|
13 |
+
;
|
14 |
+
|
15 |
+
return $this;
|
16 |
+
}
|
17 |
+
|
18 |
+
protected function _initNewAction()
|
19 |
+
{
|
20 |
+
$this
|
21 |
+
->loadLayout()
|
22 |
+
->_setActiveMenu('straker/new')
|
23 |
+
;
|
24 |
+
|
25 |
+
return $this;
|
26 |
+
}
|
27 |
+
|
28 |
+
|
29 |
+
public function indexAction(){
|
30 |
+
|
31 |
+
if (!$this->getRequest()->getParam('job_id')){
|
32 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
33 |
+
$this->_redirect('*/straker_job/');
|
34 |
+
return;
|
35 |
+
}
|
36 |
+
|
37 |
+
$this->_title($this->__('Straker Translations'))
|
38 |
+
->_title($this->__('Manage Jobs'));
|
39 |
+
|
40 |
+
$this->loadLayout()->_setActiveMenu('straker/job');
|
41 |
+
$this->renderLayout();
|
42 |
+
|
43 |
+
}
|
44 |
+
|
45 |
+
public function newAction(){
|
46 |
+
$params = $this->getRequest()->getParams();
|
47 |
+
if (empty($params['store'])) {
|
48 |
+
$this->_redirect('*/straker_new');
|
49 |
+
return;
|
50 |
+
}
|
51 |
+
elseif (empty($params['attr'])) {
|
52 |
+
return $this->_initNewAction()
|
53 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_block_attribute','strakertranslations_easytranslationplatform_new_cms_block_attribute',array('setup_store_id' => $params['store'])))
|
54 |
+
->renderLayout();
|
55 |
+
}
|
56 |
+
elseif (empty($params['cms_block'])) {
|
57 |
+
return $this->_initNewAction()
|
58 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_block','strakertranslations_easytranslationplatform_new_cms_block',array('setup_store_id' => $params['store'], 'attr' => $params['attr'])))
|
59 |
+
->renderLayout();
|
60 |
+
}
|
61 |
+
else{
|
62 |
+
return $this->_initNewAction()
|
63 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_block_confirm','strakertranslations_easytranslationplatform_new_cms_block_confirm',array('store' => $params['store'], 'cms_block' => $params['cms_block'], 'attr' => $params['attr'])))
|
64 |
+
->renderLayout();
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
public function attributeAction(){
|
69 |
+
$data = $this->getRequest()->getParams();
|
70 |
+
if($data['attr'] && $data['store']){
|
71 |
+
$this->_redirect('*/*/new', array('store' => $data['store'], 'attr' => implode(",",array_keys($data['attr']))));
|
72 |
+
}
|
73 |
+
else {
|
74 |
+
$this->_redirect('*/straker_new/');
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
public function addtoconfirmAction(){
|
79 |
+
$data = $this->getRequest()->getParams();
|
80 |
+
$data['store'] = !empty($data['store']) ? $data['store'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_store');
|
81 |
+
$data['attr'] = !empty($data['attr']) ? $data['attr'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_attr');
|
82 |
+
$data['cms_block'] = !empty($data['cms_block']) ? $data['cms_block'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_cms_block');
|
83 |
+
if(!empty($data['attr']) && !empty($data['store']) && !empty($data['cms_block'])){
|
84 |
+
Mage::getSingleton('adminhtml/session')
|
85 |
+
->setData('straker_new_attr', $data['attr'])
|
86 |
+
->setData('straker_new_store', $data['store'])
|
87 |
+
->setData('straker_new_cms_block', $data['cms_block'])
|
88 |
+
;
|
89 |
+
return $this->_initAction()
|
90 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_block_confirm', 'strakertranslations_easytranslationplatform_new_cms_block_confirm', array('store' => $data['store'], 'cms_block' => $data['cms_block'], 'attr' => $data['attr'])))
|
91 |
+
->renderLayout();
|
92 |
+
}
|
93 |
+
else {
|
94 |
+
$this->_redirect('*/straker_new/', $data);
|
95 |
+
}
|
96 |
+
}
|
97 |
+
|
98 |
+
public function submitjobAction(){
|
99 |
+
$data = $this->getRequest()->getParams();
|
100 |
+
if($data['attr'] && $data['store'] && $data['cms_block']){
|
101 |
+
$jobModel = Mage::getModel('strakertranslations_easytranslationplatform/job');
|
102 |
+
try {
|
103 |
+
$jobModel->checkAndCreateFolder();
|
104 |
+
}
|
105 |
+
catch (Mage_Core_Exception $e){
|
106 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
107 |
+
$this->_redirect('*/*/', array(
|
108 |
+
'store' => $data['store']
|
109 |
+
));
|
110 |
+
return;
|
111 |
+
}
|
112 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
113 |
+
$storeSetup = $helper->getStoreSetup($data['store']);
|
114 |
+
$jobModel->setStoreId($data['store']);
|
115 |
+
$jobModel->setSl($storeSetup['from']);
|
116 |
+
$jobModel->setTl($storeSetup['to']);
|
117 |
+
$jobModel->setToken('Token');
|
118 |
+
$jobModel->submitCmsBlock(explode(',',$data['cms_block']),explode(',', $data['attr']));
|
119 |
+
if ($jobModel->getLastStatus()) {
|
120 |
+
Mage::getSingleton('adminhtml/session')
|
121 |
+
->setData('straker_new_store', '')
|
122 |
+
->setData('straker_new_cms_block', '')
|
123 |
+
;
|
124 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('New job created');
|
125 |
+
$this->_redirect('*/straker_job/');
|
126 |
+
}
|
127 |
+
else{
|
128 |
+
Mage::getSingleton('adminhtml/session')->addError($jobModel->getLastMessage());
|
129 |
+
$this->_redirect('*/*/new');
|
130 |
+
}
|
131 |
+
}
|
132 |
+
else {
|
133 |
+
$this->_redirect('*/*/new', $data);
|
134 |
+
}
|
135 |
+
}
|
136 |
+
|
137 |
+
public function copyAllAction(){
|
138 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
139 |
+
|
140 |
+
if (!$job->getId()){
|
141 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
142 |
+
$this->_redirect('*/straker_job/');
|
143 |
+
return;
|
144 |
+
}
|
145 |
+
|
146 |
+
if($job->applyTranslation()) {
|
147 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Translation has been applied.');
|
148 |
+
$this->_redirect('*/straker_job/');
|
149 |
+
return;
|
150 |
+
} else {
|
151 |
+
Mage::getSingleton('adminhtml/session')->addError('Error when applying translation.');
|
152 |
+
$this->_redirect('*/straker_job/');
|
153 |
+
return;
|
154 |
+
}
|
155 |
+
|
156 |
+
}
|
157 |
+
|
158 |
+
public function applyTranslationAction(){
|
159 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
160 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId);
|
161 |
+
|
162 |
+
if (!$job->getId()){
|
163 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
164 |
+
$this->_redirect('*/straker_job/');
|
165 |
+
return;
|
166 |
+
}
|
167 |
+
$blockIds = $this->getRequest()->getParam('block_id');
|
168 |
+
if(!empty($blockIds)) {
|
169 |
+
if ($job->applyTranslation($blockIds)) {
|
170 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Translation has been applied.');
|
171 |
+
$this->_redirect('*/straker_cms_block/',array('job_id' => $jobId));
|
172 |
+
return;
|
173 |
+
} else {
|
174 |
+
Mage::getSingleton('adminhtml/session')->addError('Error when applying translation.');
|
175 |
+
$this->_redirect('*/straker_cms_block/',array('job_id' => $jobId));
|
176 |
+
return;
|
177 |
+
}
|
178 |
+
}
|
179 |
+
else{
|
180 |
+
Mage::getSingleton('adminhtml/session')->addError('Please select products to apply the translation.');
|
181 |
+
$this->_redirect('*/straker_cms_block/',array('job_id' => $jobId));
|
182 |
+
return;
|
183 |
+
}
|
184 |
+
|
185 |
+
}
|
186 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/Cms/PageController.php
ADDED
@@ -0,0 +1,186 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
Class StrakerTranslations_EasyTranslationPlatform_Adminhtml_Straker_Cms_PageController extends Mage_Adminhtml_Controller_Action{
|
3 |
+
protected function _isAllowed()
|
4 |
+
{
|
5 |
+
return Mage::getSingleton('admin/session')->isAllowed('admin/straker/job');
|
6 |
+
}
|
7 |
+
|
8 |
+
protected function _initAction()
|
9 |
+
{
|
10 |
+
$this
|
11 |
+
->loadLayout()
|
12 |
+
->_setActiveMenu('straker/job')
|
13 |
+
;
|
14 |
+
|
15 |
+
return $this;
|
16 |
+
}
|
17 |
+
|
18 |
+
protected function _initNewAction()
|
19 |
+
{
|
20 |
+
$this
|
21 |
+
->loadLayout()
|
22 |
+
->_setActiveMenu('straker/new')
|
23 |
+
;
|
24 |
+
|
25 |
+
return $this;
|
26 |
+
}
|
27 |
+
|
28 |
+
|
29 |
+
public function indexAction(){
|
30 |
+
|
31 |
+
if (!$this->getRequest()->getParam('job_id')){
|
32 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
33 |
+
$this->_redirect('*/straker_job/');
|
34 |
+
return;
|
35 |
+
}
|
36 |
+
|
37 |
+
$this->_title($this->__('Straker Translations'))
|
38 |
+
->_title($this->__('Manage Jobs'));
|
39 |
+
|
40 |
+
$this->loadLayout()->_setActiveMenu('straker/job');
|
41 |
+
$this->renderLayout();
|
42 |
+
|
43 |
+
}
|
44 |
+
|
45 |
+
public function newAction(){
|
46 |
+
$params = $this->getRequest()->getParams();
|
47 |
+
if (empty($params['store'])) {
|
48 |
+
$this->_redirect('*/straker_new');
|
49 |
+
return;
|
50 |
+
}
|
51 |
+
elseif (empty($params['attr'])) {
|
52 |
+
return $this->_initNewAction()
|
53 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_page_attribute','strakertranslations_easytranslationplatform_new_cms_page_attribute',array('setup_store_id' => $params['store'])))
|
54 |
+
->renderLayout();
|
55 |
+
}
|
56 |
+
elseif (empty($params['cms_page'])) {
|
57 |
+
return $this->_initNewAction()
|
58 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_page','strakertranslations_easytranslationplatform_new_cms_page',array('setup_store_id' => $params['store'], 'attr' => $params['attr'])))
|
59 |
+
->renderLayout();
|
60 |
+
}
|
61 |
+
else{
|
62 |
+
return $this->_initNewAction()
|
63 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_page_confirm','strakertranslations_easytranslationplatform_new_cms_page_confirm',array('store' => $params['store'], 'cms_page' => $params['cms_page'], 'attr' => $params['attr'])))
|
64 |
+
->renderLayout();
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
public function attributeAction(){
|
69 |
+
$data = $this->getRequest()->getParams();
|
70 |
+
if($data['attr'] && $data['store']){
|
71 |
+
$this->_redirect('*/*/new', array('store' => $data['store'], 'attr' => implode(",",array_keys($data['attr']))));
|
72 |
+
}
|
73 |
+
else {
|
74 |
+
$this->_redirect('*/straker_new/');
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
public function addtoconfirmAction(){
|
79 |
+
$data = $this->getRequest()->getParams();
|
80 |
+
$data['store'] = !empty($data['store']) ? $data['store'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_store');
|
81 |
+
$data['attr'] = !empty($data['attr']) ? $data['attr'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_attr');
|
82 |
+
$data['cms_page'] = !empty($data['cms_page']) ? $data['cms_page'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_cms_page');
|
83 |
+
if(!empty($data['attr']) && !empty($data['store']) && !empty($data['cms_page'])){
|
84 |
+
Mage::getSingleton('adminhtml/session')
|
85 |
+
->setData('straker_new_attr', $data['attr'])
|
86 |
+
->setData('straker_new_store', $data['store'])
|
87 |
+
->setData('straker_new_cms_page', $data['cms_page'])
|
88 |
+
;
|
89 |
+
return $this->_initAction()
|
90 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_cms_page_confirm', 'strakertranslations_easytranslationplatform_new_cms_page_confirm', array('store' => $data['store'], 'cms_page' => $data['cms_page'], 'attr' => $data['attr'])))
|
91 |
+
->renderLayout();
|
92 |
+
}
|
93 |
+
else {
|
94 |
+
$this->_redirect('*/straker_new/', $data);
|
95 |
+
}
|
96 |
+
}
|
97 |
+
|
98 |
+
public function submitjobAction(){
|
99 |
+
$data = $this->getRequest()->getParams();
|
100 |
+
if($data['attr'] && $data['store'] && $data['cms_page']){
|
101 |
+
$jobModel = Mage::getModel('strakertranslations_easytranslationplatform/job');
|
102 |
+
try {
|
103 |
+
$jobModel->checkAndCreateFolder();
|
104 |
+
}
|
105 |
+
catch (Mage_Core_Exception $e){
|
106 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
107 |
+
$this->_redirect('*/*/', array(
|
108 |
+
'store' => $data['store']
|
109 |
+
));
|
110 |
+
return;
|
111 |
+
}
|
112 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
113 |
+
$storeSetup = $helper->getStoreSetup($data['store']);
|
114 |
+
$jobModel->setStoreId($data['store']);
|
115 |
+
$jobModel->setSl($storeSetup['from']);
|
116 |
+
$jobModel->setTl($storeSetup['to']);
|
117 |
+
$jobModel->setToken('Token');
|
118 |
+
$jobModel->submitCmsPage(explode(',',$data['cms_page']),explode(',', $data['attr']));
|
119 |
+
if ($jobModel->getLastStatus()) {
|
120 |
+
Mage::getSingleton('adminhtml/session')
|
121 |
+
->setData('straker_new_store', '')
|
122 |
+
->setData('straker_new_cms_page', '')
|
123 |
+
;
|
124 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('New job created');
|
125 |
+
$this->_redirect('*/straker_job/');
|
126 |
+
}
|
127 |
+
else{
|
128 |
+
Mage::getSingleton('adminhtml/session')->addError($jobModel->getLastMessage());
|
129 |
+
$this->_redirect('*/*/new');
|
130 |
+
}
|
131 |
+
}
|
132 |
+
else {
|
133 |
+
$this->_redirect('*/*/new', $data);
|
134 |
+
}
|
135 |
+
}
|
136 |
+
|
137 |
+
public function copyAllAction(){
|
138 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
139 |
+
|
140 |
+
if (!$job->getId()){
|
141 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
142 |
+
$this->_redirect('*/straker_job/');
|
143 |
+
return;
|
144 |
+
}
|
145 |
+
|
146 |
+
if($job->applyTranslation()) {
|
147 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Translation has been applied.');
|
148 |
+
$this->_redirect('*/straker_job/');
|
149 |
+
return;
|
150 |
+
} else {
|
151 |
+
Mage::getSingleton('adminhtml/session')->addError('Error when applying translation.');
|
152 |
+
$this->_redirect('*/straker_job/');
|
153 |
+
return;
|
154 |
+
}
|
155 |
+
|
156 |
+
}
|
157 |
+
|
158 |
+
public function applyTranslationAction(){
|
159 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
160 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId);
|
161 |
+
|
162 |
+
if (!$job->getId()){
|
163 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
164 |
+
$this->_redirect('*/straker_job/');
|
165 |
+
return;
|
166 |
+
}
|
167 |
+
$cmsPageIds = $this->getRequest()->getParam('page_id');
|
168 |
+
if(!empty($cmsPageIds)) {
|
169 |
+
if ($job->applyTranslation($cmsPageIds)) {
|
170 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Translation has been applied.');
|
171 |
+
$this->_redirect('*/straker_cms_page/',array('job_id' => $jobId));
|
172 |
+
return;
|
173 |
+
} else {
|
174 |
+
Mage::getSingleton('adminhtml/session')->addError('Error when applying translation.');
|
175 |
+
$this->_redirect('*/straker_cms_page/',array('job_id' => $jobId));
|
176 |
+
return;
|
177 |
+
}
|
178 |
+
}
|
179 |
+
else{
|
180 |
+
Mage::getSingleton('adminhtml/session')->addError('Please select products to apply the translation.');
|
181 |
+
$this->_redirect('*/straker_cms_page/',array('job_id' => $jobId));
|
182 |
+
return;
|
183 |
+
}
|
184 |
+
|
185 |
+
}
|
186 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/JobController.php
ADDED
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
Class StrakerTranslations_EasyTranslationPlatform_Adminhtml_Straker_JobController extends Mage_Adminhtml_Controller_Action{
|
3 |
+
protected function _isAllowed()
|
4 |
+
{
|
5 |
+
return Mage::getSingleton('admin/session')->isAllowed('admin/straker/job');
|
6 |
+
}
|
7 |
+
|
8 |
+
protected function _initAction()
|
9 |
+
{
|
10 |
+
$this
|
11 |
+
->loadLayout()
|
12 |
+
->_setActiveMenu('straker/job')
|
13 |
+
;
|
14 |
+
|
15 |
+
return $this;
|
16 |
+
}
|
17 |
+
|
18 |
+
public function indexAction(){
|
19 |
+
|
20 |
+
/** @var $helper StrakerTranslations_EasyTranslationPlatform_Helper_Data */
|
21 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
22 |
+
$helper->checkSiteMode();
|
23 |
+
|
24 |
+
//todo refresh all jobs that is waiting on a quote. This should be refactored into different process.
|
25 |
+
/** @var $collection StrakerTranslations_EasyTranslationPlatform_Model_Resource_Job_Collection */
|
26 |
+
$collection = Mage::getModel('strakertranslations_easytranslationplatform/job')
|
27 |
+
->getCollection()
|
28 |
+
->addFieldToFilter('status_id', array('lt' => 4));
|
29 |
+
|
30 |
+
// foreach($collection as $job){
|
31 |
+
// $job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($job->getId());
|
32 |
+
// if ( $job->updateTranslation() ){
|
33 |
+
// Mage::getSingleton('core/session')->addSuccess($this->__('Job %s has been updated.', $job->getId()));
|
34 |
+
// }
|
35 |
+
// }
|
36 |
+
if ($collection->count() > 1){
|
37 |
+
/** @var StrakerTranslations_EasyTranslationPlatform_Model_Job $job */
|
38 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job');
|
39 |
+
$response = $job->bulkUpdateTranslation();
|
40 |
+
if ( $response ) {
|
41 |
+
foreach($collection as $jobModel){
|
42 |
+
foreach ($response as $jobResponse) {
|
43 |
+
if ($jobResponse->token == $jobModel->getId()) {
|
44 |
+
$jobModel = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobModel->getId());
|
45 |
+
$jobModel->updateJob($jobResponse);
|
46 |
+
}
|
47 |
+
}
|
48 |
+
if ( $job->updateTranslation() ){
|
49 |
+
|
50 |
+
Mage::getSingleton('core/session')->addSuccess($this->__('Job %s has been updated.', $job->getId()));
|
51 |
+
}
|
52 |
+
}
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
$this->_title($this->__('Straker Translations'))
|
57 |
+
->_title($this->__('Manage Jobs'));
|
58 |
+
|
59 |
+
$this->loadLayout();
|
60 |
+
$this->renderLayout();
|
61 |
+
}
|
62 |
+
|
63 |
+
public function updateJobAction() {
|
64 |
+
|
65 |
+
$data = $this->getRequest()->getParams();
|
66 |
+
if($data['job_id']){
|
67 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load((int) $data['job_id']);
|
68 |
+
|
69 |
+
if(!$job->getJobKey()){
|
70 |
+
return false;
|
71 |
+
}
|
72 |
+
|
73 |
+
if( $job->updateTranslation() ){
|
74 |
+
Mage::getSingleton('core/session')->addSuccess($this->__('Job %s has been updated.', $job->getId()));
|
75 |
+
}
|
76 |
+
$this->_redirect('*/*/');
|
77 |
+
return;
|
78 |
+
|
79 |
+
}
|
80 |
+
|
81 |
+
return false;
|
82 |
+
|
83 |
+
}
|
84 |
+
|
85 |
+
|
86 |
+
public function disputeAction() {
|
87 |
+
$data = $this->getRequest()->getParams();
|
88 |
+
if($data['job_id'] && $data['message']){
|
89 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load((int) $data['job_id']);
|
90 |
+
|
91 |
+
|
92 |
+
$response = $job->submitSupport(array(
|
93 |
+
'title' => 'Dispute for '.$job->getTjNumber(),
|
94 |
+
'message' => $data['message']
|
95 |
+
));
|
96 |
+
|
97 |
+
//Send out email
|
98 |
+
|
99 |
+
$mail = new Zend_Mail(); //class for mail
|
100 |
+
$mail->setBodyHtml($data['message']); //for sending message containing html code
|
101 |
+
$mail->setFrom(Mage::getStoreConfig('trans_email/ident_general/email'), Mage::getStoreConfig('trans_email/ident_general/name'));
|
102 |
+
$mail->addTo('processing@strakertranslations.com', 'Straker Support');
|
103 |
+
$mail->setSubject('Dispute for '.$job->getTjNumber());
|
104 |
+
$msg ='';
|
105 |
+
Mage::log(print_r($mail,true), null , 'debugging.log' , true);
|
106 |
+
try {
|
107 |
+
if($mail->send())
|
108 |
+
{
|
109 |
+
$msg = true;
|
110 |
+
}
|
111 |
+
}
|
112 |
+
catch(Exception $ex) {
|
113 |
+
$msg = false;
|
114 |
+
}
|
115 |
+
if($msg){
|
116 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Feedback has been submitted.');
|
117 |
+
}
|
118 |
+
else{
|
119 |
+
Mage::getSingleton('adminhtml/session')->addError('Unkown error when sending email to processing@strakertranslations.com.');
|
120 |
+
}
|
121 |
+
}
|
122 |
+
else{
|
123 |
+
Mage::getSingleton('adminhtml/session')->addError('Required parameters missing when submitting a feedback.');
|
124 |
+
}
|
125 |
+
$this->_redirect('adminhtml/straker_product/index', array(
|
126 |
+
'job_id' => $data['job_id']
|
127 |
+
));
|
128 |
+
return;
|
129 |
+
}
|
130 |
+
|
131 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/NewController.php
ADDED
@@ -0,0 +1,240 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
Class StrakerTranslations_EasyTranslationPlatform_Adminhtml_Straker_NewController extends Mage_Adminhtml_Controller_Action
|
4 |
+
{
|
5 |
+
protected function _isAllowed()
|
6 |
+
{
|
7 |
+
return Mage::getSingleton('admin/session')->isAllowed('admin/straker/new');
|
8 |
+
}
|
9 |
+
|
10 |
+
protected function _initAction()
|
11 |
+
{
|
12 |
+
$this
|
13 |
+
->loadLayout()
|
14 |
+
->_setActiveMenu('straker/new');
|
15 |
+
$this->_title($this->__('Create New Job'));
|
16 |
+
return $this;
|
17 |
+
}
|
18 |
+
|
19 |
+
public function accountAction()
|
20 |
+
{
|
21 |
+
$this->_redirectUrl("https://myaccount.strakertranslations.com/");
|
22 |
+
}
|
23 |
+
|
24 |
+
public function termsAction()
|
25 |
+
{
|
26 |
+
$this->_redirectUrl("https://www.strakertranslations.com/about-us/terms-and-conditions-of-service.cfm");
|
27 |
+
}
|
28 |
+
|
29 |
+
public function indexAction()
|
30 |
+
{
|
31 |
+
$params = $this->getRequest()->getParams();
|
32 |
+
if (Mage::helper('strakertranslations_easytranslationplatform')->getAppKey() === false || Mage::helper('strakertranslations_easytranslationplatform')->getAccessToken() === false) {
|
33 |
+
return $this->_initAction()
|
34 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_register'))
|
35 |
+
->renderLayout();
|
36 |
+
} elseif (empty($params['store'])) {
|
37 |
+
$this->checkSiteMode();
|
38 |
+
return $this->_initAction()
|
39 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_selectstore'))
|
40 |
+
->renderLayout();
|
41 |
+
} elseif (Mage::helper('strakertranslations_easytranslationplatform')->getStoreSetup($params['store']) === false ) {
|
42 |
+
$this->checkSiteMode();
|
43 |
+
return $this->_initAction()
|
44 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_setupstore',
|
45 |
+
'strakertranslations_easytranslationplatform_new_setupstore', array('setup_store_id' => $params['store'])))
|
46 |
+
->renderLayout();
|
47 |
+
} else {
|
48 |
+
$this->checkSiteMode();
|
49 |
+
return $this->_initAction()
|
50 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_type', 'strakertranslations_easytranslationplatform_new_type',
|
51 |
+
array('setup_store_id' => $params['store'])))
|
52 |
+
->renderLayout();
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
public function registerAction()
|
57 |
+
{
|
58 |
+
|
59 |
+
$data = $this->getRequest()->getPost();
|
60 |
+
if (array_key_exists('form_key', $data)) {
|
61 |
+
unset($data['form_key']);
|
62 |
+
}
|
63 |
+
if ($data['first_name'] && $data['last_name'] && $data['email'] && $data['terms']) {
|
64 |
+
if ($data['company'] == '') {
|
65 |
+
$data['company'] = $data['first_name'] . ' ' . $data['last_name'];
|
66 |
+
}
|
67 |
+
$apiModel = Mage::getModel('strakertranslations_easytranslationplatform/api');
|
68 |
+
$response = $apiModel->callRegister($data);
|
69 |
+
if ($response->access_token && $response->application_key) {
|
70 |
+
$apiModel->saveAccessToken($response->access_token);
|
71 |
+
$apiModel->saveAppKey($response->application_key);
|
72 |
+
Mage::app()->getCacheInstance()->cleanType('config');
|
73 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Registration success.');
|
74 |
+
} elseif ($response->magentoMessage) {
|
75 |
+
Mage::getSingleton('adminhtml/session')->addError($response->magentoMessage);
|
76 |
+
} else {
|
77 |
+
Mage::getSingleton('adminhtml/session')->addError('Registration unsuccessful.');
|
78 |
+
}
|
79 |
+
}
|
80 |
+
$this->_redirect('*/*/');
|
81 |
+
}
|
82 |
+
|
83 |
+
public function selectstoreAction()
|
84 |
+
{
|
85 |
+
$store = $this->getRequest()->getParam('store');
|
86 |
+
if ($store) {
|
87 |
+
$this->_redirect('*/*/', array('store' => $store));
|
88 |
+
} else {
|
89 |
+
$this->_redirect('*/*/');
|
90 |
+
}
|
91 |
+
}
|
92 |
+
|
93 |
+
public function setupstoreAction()
|
94 |
+
{
|
95 |
+
$data = $this->getRequest()->getParams();
|
96 |
+
if ($data['store'] && $data['source'] && $data['from'] && $data['to']) {
|
97 |
+
/** @var $session Mage_Admin_Model_Session */
|
98 |
+
$session = Mage::getSingleton('adminhtml/session');
|
99 |
+
try {
|
100 |
+
//save the source, language from and to in stystem config
|
101 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
102 |
+
|
103 |
+
if ($helper->saveStoreSetup($data['store'], $data['source'], $data['from'], $data['to']) !== false) {
|
104 |
+
Mage::app()->getCacheInstance()->cleanType('config');
|
105 |
+
$this->_redirect('*/*/', array('store' => $data['store']));
|
106 |
+
return;
|
107 |
+
} else {
|
108 |
+
Mage::throwException(Mage::helper('strakertranslations_easytranslationplatform')->__('Unable to save store configurations.'));
|
109 |
+
}
|
110 |
+
} catch (Exception $e) {
|
111 |
+
$session->addError($e->getMessage());
|
112 |
+
$this->_redirect('*/*/');
|
113 |
+
return;
|
114 |
+
}
|
115 |
+
}
|
116 |
+
$this->_redirect('*/*/');
|
117 |
+
}
|
118 |
+
|
119 |
+
public function clearSettingsAction()
|
120 |
+
{
|
121 |
+
$session = Mage::getSingleton('adminhtml/session');
|
122 |
+
|
123 |
+
try {
|
124 |
+
$apiModel = Mage::getModel('strakertranslations_easytranslationplatform/api');
|
125 |
+
|
126 |
+
$apiModel->saveAccessToken('');
|
127 |
+
$apiModel->saveAppKey('');
|
128 |
+
/** @var StrakerTranslations_EasyTranslationPlatform_Helper_Data $helper */
|
129 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
130 |
+
foreach (Mage::app()->getStores() as $store) {
|
131 |
+
$helper->saveStoreSetup($store->getId(), '', '', '');
|
132 |
+
}
|
133 |
+
$helper->clearSiteMode();
|
134 |
+
Mage::app()->getCacheInstance()->cleanType('config');
|
135 |
+
$session->addSuccess('Straker Settings has been cleared.');
|
136 |
+
|
137 |
+
} catch (Exception $e) {
|
138 |
+
$session->addError($e->getMessage());
|
139 |
+
}
|
140 |
+
$this->_redirect('adminhtml/system_config/edit/section/straker');
|
141 |
+
return;
|
142 |
+
}
|
143 |
+
|
144 |
+
public function copyProdcutTableAction()
|
145 |
+
{
|
146 |
+
$session = Mage::getSingleton('adminhtml/session');
|
147 |
+
|
148 |
+
try {
|
149 |
+
|
150 |
+
$writeConnection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
151 |
+
|
152 |
+
$sql = 'CREATE TABLE catalog_product_entity_varchar_back AS SELECT * FROM catalog_product_entity_varchar;';
|
153 |
+
|
154 |
+
$writeConnection->query($sql);
|
155 |
+
|
156 |
+
$sql = 'CREATE TABLE catalog_product_entity_text_back AS SELECT * FROM catalog_product_entity_text;';
|
157 |
+
|
158 |
+
$writeConnection->query($sql);
|
159 |
+
|
160 |
+
$sql = 'CREATE TABLE catalog_category_entity_varchar_back AS SELECT * FROM catalog_category_entity_varchar;';
|
161 |
+
|
162 |
+
$writeConnection->query($sql);
|
163 |
+
|
164 |
+
$sql = 'CREATE TABLE catalog_category_entity_text_back AS SELECT * FROM catalog_category_entity_text;';
|
165 |
+
|
166 |
+
$writeConnection->query($sql);
|
167 |
+
|
168 |
+
$session->addSuccess('product and category entity tables has been duplicated ');
|
169 |
+
|
170 |
+
} catch (Exception $e) {
|
171 |
+
$session->addError($e->getMessage());
|
172 |
+
}
|
173 |
+
$this->_redirect('adminhtml/system_config/edit/section/straker');
|
174 |
+
return;
|
175 |
+
}
|
176 |
+
|
177 |
+
public function restoreProdcutTableAction()
|
178 |
+
{
|
179 |
+
$session = Mage::getSingleton('adminhtml/session');
|
180 |
+
|
181 |
+
try {
|
182 |
+
|
183 |
+
$writeConnection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
184 |
+
|
185 |
+
if ($writeConnection->query("SELECT 1 FROM catalog_product_entity_varchar_back LIMIT 1")) {
|
186 |
+
|
187 |
+
$sql = 'DELETE FROM straker_job';
|
188 |
+
$writeConnection->query($sql);
|
189 |
+
|
190 |
+
$sql = 'TRUNCATE catalog_product_entity_varchar; INSERT INTO catalog_product_entity_varchar SELECT * FROM catalog_product_entity_varchar_back;';
|
191 |
+
|
192 |
+
$writeConnection->query($sql);
|
193 |
+
|
194 |
+
$sql = 'TRUNCATE catalog_product_entity_text; INSERT INTO catalog_product_entity_text SELECT * FROM catalog_product_entity_text_back;';
|
195 |
+
|
196 |
+
$writeConnection->query($sql);
|
197 |
+
|
198 |
+
$sql = 'TRUNCATE catalog_category_entity_varchar; INSERT INTO catalog_category_entity_varchar SELECT * FROM catalog_category_entity_varchar_back;';
|
199 |
+
|
200 |
+
$writeConnection->query($sql);
|
201 |
+
|
202 |
+
$sql = 'TRUNCATE catalog_category_entity_text; INSERT INTO catalog_category_entity_text SELECT * FROM catalog_category_entity_text_back;';
|
203 |
+
|
204 |
+
$writeConnection->query($sql);
|
205 |
+
|
206 |
+
$session->addSuccess('product and category entity tables has been restored ');
|
207 |
+
}
|
208 |
+
|
209 |
+
} catch (Exception $e) {
|
210 |
+
$session->addError($e->getMessage());
|
211 |
+
}
|
212 |
+
$this->_redirect('adminhtml/system_config/edit/section/straker');
|
213 |
+
return;
|
214 |
+
}
|
215 |
+
|
216 |
+
|
217 |
+
public function resetStoreSettingsAction()
|
218 |
+
{
|
219 |
+
$storeId = $this->getRequest()->getParam('store');
|
220 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
221 |
+
$session = Mage::getSingleton('adminhtml/session');
|
222 |
+
|
223 |
+
if ($helper->getStoreSetup($storeId)) {
|
224 |
+
$helper->saveStoreSetup($storeId, '', '', '');
|
225 |
+
$session->addSuccess($this->__('Language settings has been reset.'));
|
226 |
+
Mage::app()->getCacheInstance()->cleanType('config');
|
227 |
+
} else {
|
228 |
+
$session->addError($this->__('Store code is not valid.'));
|
229 |
+
}
|
230 |
+
$this->_redirect('adminhtml/system_config/edit/section/straker');
|
231 |
+
return;
|
232 |
+
}
|
233 |
+
|
234 |
+
private function checkSiteMode(){
|
235 |
+
/** @var $helper StrakerTranslations_EasyTranslationPlatform_Helper_Data */
|
236 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
237 |
+
$helper->checkSiteMode();
|
238 |
+
}
|
239 |
+
|
240 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/Adminhtml/Straker/ProductController.php
ADDED
@@ -0,0 +1,207 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
Class StrakerTranslations_EasyTranslationPlatform_Adminhtml_Straker_ProductController extends Mage_Adminhtml_Controller_Action{
|
3 |
+
protected function _isAllowed()
|
4 |
+
{
|
5 |
+
return Mage::getSingleton('admin/session')->isAllowed('admin/straker/job');
|
6 |
+
}
|
7 |
+
|
8 |
+
protected function _initAction()
|
9 |
+
{
|
10 |
+
$this->checkSiteMode();
|
11 |
+
|
12 |
+
$this
|
13 |
+
->loadLayout()
|
14 |
+
->_setActiveMenu('straker/job')
|
15 |
+
;
|
16 |
+
|
17 |
+
return $this;
|
18 |
+
}
|
19 |
+
|
20 |
+
protected function _initNewAction()
|
21 |
+
{
|
22 |
+
$this->checkSiteMode();
|
23 |
+
|
24 |
+
$this
|
25 |
+
->loadLayout()
|
26 |
+
->_setActiveMenu('straker/new')
|
27 |
+
;
|
28 |
+
|
29 |
+
return $this;
|
30 |
+
}
|
31 |
+
|
32 |
+
|
33 |
+
public function indexAction(){
|
34 |
+
|
35 |
+
if (!$this->getRequest()->getParam('job_id')){
|
36 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
37 |
+
$this->_redirect('*/straker_job/');
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
|
41 |
+
$this->_title($this->__('Straker Translations'))
|
42 |
+
->_title($this->__('Manage Jobs'));
|
43 |
+
|
44 |
+
$this->loadLayout()->_setActiveMenu('straker/job');
|
45 |
+
$this->renderLayout();
|
46 |
+
|
47 |
+
// try {
|
48 |
+
// $this->_title($this->__('Manage Jobs'));
|
49 |
+
// return $this->_initAction()
|
50 |
+
// ->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_job_grid'))
|
51 |
+
// ->renderLayout();
|
52 |
+
// } catch (Exception $e) {
|
53 |
+
// Mage::getSingleton('core/session')->addError($this->__('Error occurred. Please contact service administrator.'));
|
54 |
+
// $this->_redirect('adminhtml/dashboard');
|
55 |
+
// }
|
56 |
+
}
|
57 |
+
|
58 |
+
public function newAction(){
|
59 |
+
$params = $this->getRequest()->getParams();
|
60 |
+
if (empty($params['store'])) {
|
61 |
+
$this->_redirect('*/straker_new');
|
62 |
+
return;
|
63 |
+
}
|
64 |
+
elseif (empty($params['attr'])) {
|
65 |
+
return $this->_initNewAction()
|
66 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_products_attribute','strakertranslations_easytranslationplatform_new_products_attribute',array('setup_store_id' => $params['store'])))
|
67 |
+
->renderLayout();
|
68 |
+
}
|
69 |
+
else{
|
70 |
+
return $this->_initNewAction()
|
71 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_products','strakertranslations_easytranslationplatform_new_products',array('setup_store_id' => $params['store'], 'attr' => $params['attr'])))
|
72 |
+
->renderLayout();
|
73 |
+
}
|
74 |
+
}
|
75 |
+
|
76 |
+
|
77 |
+
public function attributeAction(){
|
78 |
+
$data = $this->getRequest()->getParams();
|
79 |
+
if($data['attr'] && $data['store']){
|
80 |
+
$this->_redirect('*/*/new', array('store' => $data['store'], 'attr' => implode(",",array_keys($data['attr']))));
|
81 |
+
}
|
82 |
+
else {
|
83 |
+
$this->_redirect('*/straker_new/');
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
public function addtoconfirmAction(){
|
88 |
+
$data = $this->getRequest()->getParams();
|
89 |
+
$data['attr'] = !empty($data['attr']) ? $data['attr'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_attr');
|
90 |
+
$data['store'] = !empty($data['store']) ? $data['store'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_store');
|
91 |
+
$data['product'] = !empty($data['product']) ? $data['product'] : Mage::getSingleton('adminhtml/session')->getData('straker_new_product');
|
92 |
+
if(!empty($data['attr']) && !empty($data['store']) && !empty($data['product'])){
|
93 |
+
Mage::getSingleton('adminhtml/session')
|
94 |
+
->setData('straker_new_attr', $data['attr'])
|
95 |
+
->setData('straker_new_store', $data['store'])
|
96 |
+
->setData('straker_new_product', $data['product'])
|
97 |
+
;
|
98 |
+
return $this->_initAction()
|
99 |
+
->_addContent(Mage::getSingleton('core/layout')->createBlock('strakertranslations_easytranslationplatform/adminhtml_new_products_confirm', 'strakertranslations_easytranslationplatform_new_products_confirm', array('store' => $data['store'], 'attr' => $data['attr'], 'product' => $data['product'])))
|
100 |
+
->renderLayout();
|
101 |
+
}
|
102 |
+
else {
|
103 |
+
$this->_redirect('*/straker_new/', $data);
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
public function submitjobAction(){
|
108 |
+
$data = $this->getRequest()->getParams();
|
109 |
+
if($data['attr'] && $data['store'] && $data['product']){
|
110 |
+
$jobModel = Mage::getModel('strakertranslations_easytranslationplatform/job');
|
111 |
+
try {
|
112 |
+
$jobModel->checkAndCreateFolder();
|
113 |
+
}
|
114 |
+
catch (Mage_Core_Exception $e){
|
115 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
116 |
+
$this->_redirect('*/*/', array(
|
117 |
+
'store' => $data['store'],
|
118 |
+
'attr' => $data['attr']
|
119 |
+
));
|
120 |
+
return;
|
121 |
+
}
|
122 |
+
foreach(explode(',', $data['attr']) as $attributeCode){
|
123 |
+
$attr_ids[] = $attribute = Mage::getSingleton('eav/config')
|
124 |
+
->getAttribute(Mage_Catalog_Model_Product::ENTITY, $attributeCode)->getAttributeId();
|
125 |
+
}
|
126 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
127 |
+
$storeSetup = $helper->getStoreSetup($data['store']);
|
128 |
+
$jobModel->setStoreId($data['store']);
|
129 |
+
$jobModel->setSl($storeSetup['from']);
|
130 |
+
$jobModel->setTl($storeSetup['to']);
|
131 |
+
$jobModel->setToken('Token');
|
132 |
+
$jobModel->submitProducts($attr_ids, explode(',',$data['product']));
|
133 |
+
if ($jobModel->getLastStatus()) {
|
134 |
+
Mage::getSingleton('adminhtml/session')
|
135 |
+
->setData('straker_new_attr', '')
|
136 |
+
->setData('straker_new_store', '')
|
137 |
+
->setData('straker_new_product', '')
|
138 |
+
;
|
139 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('New job created');
|
140 |
+
$this->_redirect('*/straker_job/');
|
141 |
+
}
|
142 |
+
else{
|
143 |
+
Mage::getSingleton('adminhtml/session')->addError($jobModel->getLastMessage());
|
144 |
+
$this->_redirect('*/*/new');
|
145 |
+
}
|
146 |
+
}
|
147 |
+
else {
|
148 |
+
$this->_redirect('*/*/new', $data);
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
public function copyAllAction(){
|
153 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($this->getRequest()->getParam('job_id'));
|
154 |
+
|
155 |
+
if (!$job->getId()){
|
156 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
157 |
+
$this->_redirect('*/straker_job/');
|
158 |
+
return;
|
159 |
+
}
|
160 |
+
|
161 |
+
if($job->applyTranslation()) {
|
162 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Translation has been applied.');
|
163 |
+
$this->_redirect('*/straker_job/');
|
164 |
+
return;
|
165 |
+
} else {
|
166 |
+
Mage::getSingleton('adminhtml/session')->addError('Error when applying translation.');
|
167 |
+
$this->_redirect('*/straker_job/');
|
168 |
+
return;
|
169 |
+
}
|
170 |
+
|
171 |
+
}
|
172 |
+
|
173 |
+
public function applyTranslationAction(){
|
174 |
+
$jobId = $this->getRequest()->getParam('job_id');
|
175 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load($jobId);
|
176 |
+
|
177 |
+
if (!$job->getId()){
|
178 |
+
Mage::getSingleton('adminhtml/session')->addError('Job ID missing');
|
179 |
+
$this->_redirect('*/straker_job/');
|
180 |
+
return;
|
181 |
+
}
|
182 |
+
$productIds = $this->getRequest()->getParam('product');
|
183 |
+
if(!empty($productIds)) {
|
184 |
+
if ($job->applyTranslation($productIds)) {
|
185 |
+
Mage::getSingleton('adminhtml/session')->addSuccess('Translation has been applied.');
|
186 |
+
$this->_redirect('*/straker_product/',array('job_id' => $jobId));
|
187 |
+
return;
|
188 |
+
} else {
|
189 |
+
Mage::getSingleton('adminhtml/session')->addError('Error when applying translation.');
|
190 |
+
$this->_redirect('*/straker_product/',array('job_id' => $jobId));
|
191 |
+
return;
|
192 |
+
}
|
193 |
+
}
|
194 |
+
else{
|
195 |
+
Mage::getSingleton('adminhtml/session')->addError('Please select products to apply the translation.');
|
196 |
+
$this->_redirect('*/straker_product/',array('job_id' => $jobId));
|
197 |
+
return;
|
198 |
+
}
|
199 |
+
|
200 |
+
}
|
201 |
+
|
202 |
+
private function checkSiteMode(){
|
203 |
+
/** @var $helper StrakerTranslations_EasyTranslationPlatform_Helper_Data */
|
204 |
+
$helper = Mage::helper('strakertranslations_easytranslationplatform');
|
205 |
+
$helper->checkSiteMode();
|
206 |
+
}
|
207 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/controllers/CallbackController.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class StrakerTranslations_EasyTranslationPlatform_CallbackController extends Mage_Core_Controller_Front_Action{
|
3 |
+
function indexAction(){
|
4 |
+
$data = $this->getRequest()->getPost();
|
5 |
+
Mage::log(print_r($data,true), null , 'straker_callback.log' , true);
|
6 |
+
|
7 |
+
$this->getResponse()->setHeader('Content-type', 'application/json');
|
8 |
+
|
9 |
+
if ($data['token'] && $data['event'] ){
|
10 |
+
|
11 |
+
$job = Mage::getModel('strakertranslations_easytranslationplatform/job')->load((int) $data['token']);
|
12 |
+
|
13 |
+
switch ($data['event']){
|
14 |
+
|
15 |
+
case 'quote_ready' :
|
16 |
+
|
17 |
+
if ($job->getJobKey() && $job->updateQuote()){
|
18 |
+
$this->getResponse()->setBody('{status: success}');
|
19 |
+
}
|
20 |
+
|
21 |
+
break;
|
22 |
+
|
23 |
+
case 'translation_ready' :
|
24 |
+
|
25 |
+
if ($job->getJobKey() && $job->updateTranslation()){
|
26 |
+
$this->getResponse()->setBody('{status: success}');
|
27 |
+
}
|
28 |
+
|
29 |
+
break;
|
30 |
+
|
31 |
+
}
|
32 |
+
|
33 |
+
} else{
|
34 |
+
$this->getResponse()->setHeader('HTTP/1.0', '400', true);
|
35 |
+
$this->getResponse()->setBody('{status: error, message: parameter missing, token: '.$data['token'].', event: '.$data['event'].'}');
|
36 |
+
}
|
37 |
+
|
38 |
+
|
39 |
+
|
40 |
+
|
41 |
+
|
42 |
+
|
43 |
+
|
44 |
+
}
|
45 |
+
}
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/data/strakertranslations_easytranslationplatform_setup/data-install-1.2.0.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
3 |
+
$installer = $this;
|
4 |
+
|
5 |
+
$data = [
|
6 |
+
[ 'status_id' => 1, 'status_name' => 'INIT' ],
|
7 |
+
[ 'status_id' => 2, 'status_name' => 'QUEUED' ],
|
8 |
+
[ 'status_id' => 3, 'status_name' => 'IN_PROGRESS'],
|
9 |
+
[ 'status_id' => 4, 'status_name' => 'COMPLETED' ],
|
10 |
+
[ 'status_id' => 5, 'status_name' => 'PUBLISHED' ],
|
11 |
+
];
|
12 |
+
|
13 |
+
$installer->getConnection()->insertMultiple($installer->getTable('straker_job_status'), $data);
|
14 |
+
|
15 |
+
$data = [
|
16 |
+
[ 'type_id' => 1, 'type_name' => 'Product' ],
|
17 |
+
[ 'type_id' => 3, 'type_name' => 'Category' ],
|
18 |
+
[ 'type_id' => 4, 'type_name' => 'Attribute' ]
|
19 |
+
];
|
20 |
+
|
21 |
+
$installer->getConnection()->insertMultiple($installer->getTable('straker_job_type'), $data);
|
22 |
+
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/data/strakertranslations_easytranslationplatform_setup/data-upgrade-1.2.0-1.3.0.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
3 |
+
$installer = $this;
|
4 |
+
|
5 |
+
$data = [
|
6 |
+
[ 'type_id' => 5, 'type_name' => 'CMS Page' ],
|
7 |
+
[ 'type_id' => 6, 'type_name' => 'CMS Block' ]
|
8 |
+
];
|
9 |
+
|
10 |
+
$installer->getConnection()->insertMultiple($installer->getTable('straker_job_type'), $data);
|
11 |
+
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/etc/.DS_Store
ADDED
Binary file
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/etc/adminhtml.xml
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<config>
|
3 |
+
<menu>
|
4 |
+
<straker>
|
5 |
+
<title>Straker Translations</title>
|
6 |
+
<label><![CDATA[<div style="position: absolute;"><img id="straker_logo" src="" alt="" border="0" /></div> <script>
|
7 |
+
var n = SKIN_URL.indexOf("adminhtml");
|
8 |
+
$('straker_logo').src = SKIN_URL.substring(0, n) + "adminhtml/default/straker/images/straker/straker-translations-logo.png";
|
9 |
+
</script>]]></label>
|
10 |
+
<sort_order>71</sort_order>
|
11 |
+
<children>
|
12 |
+
<new translate="title">
|
13 |
+
<title>Create New Job</title>
|
14 |
+
<sort_order>0</sort_order>
|
15 |
+
<action>adminhtml/straker_new/index</action>
|
16 |
+
</new>
|
17 |
+
<job translate="title">
|
18 |
+
<title>Manage Jobs</title>
|
19 |
+
<sort_order>10</sort_order>
|
20 |
+
<action>adminhtml/straker_job/index</action>
|
21 |
+
</job>
|
22 |
+
<settings translate="title">
|
23 |
+
<title>Settings</title>
|
24 |
+
<action>adminhtml/system_config/edit/section/straker</action>
|
25 |
+
<sort_order>20</sort_order>
|
26 |
+
</settings>
|
27 |
+
<account translate="title">
|
28 |
+
<title>Account</title>
|
29 |
+
<action>adminhtml/straker_new/account</action>
|
30 |
+
<sort_order>30</sort_order>
|
31 |
+
</account>
|
32 |
+
<terms translate="title">
|
33 |
+
<title><![CDATA[Terms & Conditions]]></title>
|
34 |
+
<action>adminhtml/straker_new/terms</action>
|
35 |
+
<sort_order>40</sort_order>
|
36 |
+
</terms>
|
37 |
+
</children>
|
38 |
+
</straker>
|
39 |
+
</menu>
|
40 |
+
<acl>
|
41 |
+
<resources>
|
42 |
+
<all>
|
43 |
+
<title>Allow Everything</title>
|
44 |
+
</all>
|
45 |
+
<admin>
|
46 |
+
<children>
|
47 |
+
<straker>
|
48 |
+
<title>Easy Translation Platform</title>
|
49 |
+
<sort_order>70</sort_order>
|
50 |
+
<children>
|
51 |
+
<new>
|
52 |
+
<title>Create a Translation Job</title>
|
53 |
+
<sort_order>0</sort_order>
|
54 |
+
</new>
|
55 |
+
<job>
|
56 |
+
<title>Manage Jobs</title>
|
57 |
+
<sort_order>1</sort_order>
|
58 |
+
</job>
|
59 |
+
</children>
|
60 |
+
</straker>
|
61 |
+
<system>
|
62 |
+
<children>
|
63 |
+
<config>
|
64 |
+
<children>
|
65 |
+
<straker>
|
66 |
+
<title>Easy Translation Platform</title>
|
67 |
+
</straker>
|
68 |
+
</children>
|
69 |
+
</config>
|
70 |
+
</children>
|
71 |
+
</system>
|
72 |
+
</children>
|
73 |
+
</admin>
|
74 |
+
</resources>
|
75 |
+
</acl>
|
76 |
+
</config>
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/etc/config.xml
ADDED
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<StrakerTranslations_EasyTranslationPlatform>
|
5 |
+
<version>1.3.6</version>
|
6 |
+
</StrakerTranslations_EasyTranslationPlatform>
|
7 |
+
</modules>
|
8 |
+
<global>
|
9 |
+
<models>
|
10 |
+
<strakertranslations_easytranslationplatform>
|
11 |
+
<class>StrakerTranslations_EasyTranslationPlatform_Model</class>
|
12 |
+
<resourceModel>strakertranslations_easytranslationplatform_resource</resourceModel>
|
13 |
+
</strakertranslations_easytranslationplatform>
|
14 |
+
<strakertranslations_easytranslationplatform_resource>
|
15 |
+
<class>StrakerTranslations_EasyTranslationPlatform_Model_Resource</class>
|
16 |
+
<entities>
|
17 |
+
<actionlog>
|
18 |
+
<table>straker_actionlog</table>
|
19 |
+
</actionlog>
|
20 |
+
<job>
|
21 |
+
<table>straker_job</table>
|
22 |
+
</job>
|
23 |
+
<job_product>
|
24 |
+
<table>straker_job_product</table>
|
25 |
+
</job_product>
|
26 |
+
<job_type>
|
27 |
+
<table>straker_job_type</table>
|
28 |
+
</job_type>
|
29 |
+
<job_status>
|
30 |
+
<table>straker_job_status</table>
|
31 |
+
</job_status>
|
32 |
+
<product_attributes>
|
33 |
+
<table>straker_product_attributes</table>
|
34 |
+
</product_attributes>
|
35 |
+
<product_translate>
|
36 |
+
<table>straker_product_translate</table>
|
37 |
+
</product_translate>
|
38 |
+
<job_category>
|
39 |
+
<table>straker_job_category</table>
|
40 |
+
</job_category>
|
41 |
+
<category_translate>
|
42 |
+
<table>straker_category_translate</table>
|
43 |
+
</category_translate>
|
44 |
+
<category_attributes>
|
45 |
+
<table>straker_category_attributes</table>
|
46 |
+
</category_attributes>
|
47 |
+
<job_attribute>
|
48 |
+
<table>straker_job_attribute</table>
|
49 |
+
</job_attribute>
|
50 |
+
<straker_attribute_translate>
|
51 |
+
<table>straker_attribute_translate</table>
|
52 |
+
</straker_attribute_translate>
|
53 |
+
<job_cmspage>
|
54 |
+
<table>straker_job_cmspage</table>
|
55 |
+
</job_cmspage>
|
56 |
+
<job_cmsblock>
|
57 |
+
<table>straker_job_cmsblock</table>
|
58 |
+
</job_cmsblock>
|
59 |
+
<cms_page_translate>
|
60 |
+
<table>straker_cms_page_translate</table>
|
61 |
+
</cms_page_translate>
|
62 |
+
<cms_block_translate>
|
63 |
+
<table>straker_cms_block_translate</table>
|
64 |
+
</cms_block_translate>
|
65 |
+
<cms_block_attributes>
|
66 |
+
<table>straker_cms_block_attributes</table>
|
67 |
+
</cms_block_attributes>
|
68 |
+
<cms_page_attributes>
|
69 |
+
<table>straker_cms_page_attributes</table>
|
70 |
+
</cms_page_attributes>
|
71 |
+
</entities>
|
72 |
+
</strakertranslations_easytranslationplatform_resource>
|
73 |
+
</models>
|
74 |
+
<blocks>
|
75 |
+
<strakertranslations_easytranslationplatform>
|
76 |
+
<class>StrakerTranslations_EasyTranslationPlatform_Block</class>
|
77 |
+
</strakertranslations_easytranslationplatform>
|
78 |
+
<adminhtml>
|
79 |
+
<rewrite>
|
80 |
+
<cms_page_grid>StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Cms_Page_Grid</cms_page_grid>
|
81 |
+
<cms_block_grid>StrakerTranslations_EasyTranslationPlatform_Block_Adminhtml_Cms_Block_Grid</cms_block_grid>
|
82 |
+
</rewrite>
|
83 |
+
</adminhtml>
|
84 |
+
</blocks>
|
85 |
+
<helpers>
|
86 |
+
<strakertranslations_easytranslationplatform>
|
87 |
+
<class>StrakerTranslations_EasyTranslationPlatform_Helper</class>
|
88 |
+
</strakertranslations_easytranslationplatform>
|
89 |
+
</helpers>
|
90 |
+
<resources>
|
91 |
+
<strakertranslations_easytranslationplatform_setup>
|
92 |
+
<setup>
|
93 |
+
<module>StrakerTranslations_EasyTranslationPlatform</module>
|
94 |
+
</setup>
|
95 |
+
</strakertranslations_easytranslationplatform_setup>
|
96 |
+
</resources>
|
97 |
+
</global>
|
98 |
+
<admin>
|
99 |
+
<routers>
|
100 |
+
<adminhtml>
|
101 |
+
<args>
|
102 |
+
<modules>
|
103 |
+
<StrakerTranslations before="Mage_Adminhtml">StrakerTranslations_EasyTranslationPlatform_Adminhtml</StrakerTranslations>
|
104 |
+
</modules>
|
105 |
+
</args>
|
106 |
+
</adminhtml>
|
107 |
+
</routers>
|
108 |
+
</admin>
|
109 |
+
<frontend>
|
110 |
+
<routers>
|
111 |
+
<StrakerTranslations>
|
112 |
+
<use>standard</use>
|
113 |
+
<args>
|
114 |
+
<module>StrakerTranslations_EasyTranslationPlatform</module>
|
115 |
+
<frontName>straker</frontName>
|
116 |
+
</args>
|
117 |
+
</StrakerTranslations>
|
118 |
+
</routers>
|
119 |
+
</frontend>
|
120 |
+
<stores>
|
121 |
+
<admin>
|
122 |
+
<design>
|
123 |
+
<package>
|
124 |
+
<name>default</name>
|
125 |
+
</package>
|
126 |
+
<theme>
|
127 |
+
<default>straker</default>
|
128 |
+
</theme>
|
129 |
+
</design>
|
130 |
+
</admin>
|
131 |
+
</stores>
|
132 |
+
<adminhtml>
|
133 |
+
<layout>
|
134 |
+
<updates>
|
135 |
+
<StrakerTranslations_EasyTranslationPlatform>
|
136 |
+
<file>straker.xml</file>
|
137 |
+
</StrakerTranslations_EasyTranslationPlatform>
|
138 |
+
</updates>
|
139 |
+
</layout>
|
140 |
+
</adminhtml>
|
141 |
+
<default>
|
142 |
+
<straker>
|
143 |
+
<api_url>
|
144 |
+
<register>https://app.strakertranslations.com/v1/ta1ma/register</register>
|
145 |
+
<languages>https://app.strakertranslations.com/v1/languages</languages>
|
146 |
+
<translate>https://app.strakertranslations.com/v1/ta1ma/translate</translate>
|
147 |
+
<translate_sandbox>https://app-sandbox.strakertranslations.com/v1/ta1ma/translate</translate_sandbox>
|
148 |
+
<quote>https://app.strakertranslations.com/v1/quote</quote>
|
149 |
+
<countries>https://app.strakertranslations.com/v1/countries</countries>
|
150 |
+
<payment>https://app.strakertranslations.com/v1/payment</payment>
|
151 |
+
<payment_page>https://myaccount.strakertranslations.com/o/?action=api.quote</payment_page>
|
152 |
+
<support>https://app.strakertranslations.com/v1/ta1ma/support</support>
|
153 |
+
</api_url>
|
154 |
+
</straker>
|
155 |
+
</default>
|
156 |
+
</config>
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/etc/system.xml
ADDED
@@ -0,0 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<straker translate="label">
|
5 |
+
<label>Straker Translations</label>
|
6 |
+
<sort_order>10</sort_order>
|
7 |
+
</straker>
|
8 |
+
</tabs>
|
9 |
+
<sections>
|
10 |
+
<straker>
|
11 |
+
<label>Straker Translation Extension</label>
|
12 |
+
<tab>straker</tab>
|
13 |
+
<frontend_type>text</frontend_type>
|
14 |
+
<sort_order>20</sort_order>
|
15 |
+
<show_in_default>1</show_in_default>
|
16 |
+
<show_in_website>1</show_in_website>
|
17 |
+
<show_in_store>1</show_in_store>
|
18 |
+
<groups>
|
19 |
+
<general translate="label">
|
20 |
+
<label>Account</label>
|
21 |
+
<frontend_type>text</frontend_type>
|
22 |
+
<sort_order>100</sort_order>
|
23 |
+
<show_in_default>1</show_in_default>
|
24 |
+
<show_in_website>1</show_in_website>
|
25 |
+
<show_in_store>1</show_in_store>
|
26 |
+
<fields>
|
27 |
+
<access_token translate="label comment" >
|
28 |
+
<label>Access Token</label>
|
29 |
+
<frontend_type>text</frontend_type>
|
30 |
+
<sort_order>10</sort_order>
|
31 |
+
<show_in_default>1</show_in_default>
|
32 |
+
<show_in_website>1</show_in_website>
|
33 |
+
<show_in_store>1</show_in_store>
|
34 |
+
</access_token>
|
35 |
+
<!--<application_key translate="label comment" >-->
|
36 |
+
<!--<label>Application Key</label>-->
|
37 |
+
<!--<frontend_type>text</frontend_type>-->
|
38 |
+
<!--<sort_order>20</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 |
+
<!--</application_key>-->
|
43 |
+
<clear translate="label">
|
44 |
+
<label>Clear All Language Settings</label>
|
45 |
+
<frontend_type>button</frontend_type>
|
46 |
+
<frontend_model>strakertranslations_easytranslationplatform/adminhtml_system_config_form_button</frontend_model>
|
47 |
+
<sort_order>30</sort_order>
|
48 |
+
<show_in_default>1</show_in_default>
|
49 |
+
<show_in_website>1</show_in_website>
|
50 |
+
<show_in_store>1</show_in_store>
|
51 |
+
</clear>
|
52 |
+
<store translate="label">
|
53 |
+
<label>Reset Language Settings for a Store</label>
|
54 |
+
<frontend_type>button</frontend_type>
|
55 |
+
<frontend_model>strakertranslations_easytranslationplatform/adminhtml_system_config_form_store</frontend_model>
|
56 |
+
<sort_order>40</sort_order>
|
57 |
+
<show_in_default>1</show_in_default>
|
58 |
+
<show_in_website>1</show_in_website>
|
59 |
+
<show_in_store>1</show_in_store>
|
60 |
+
</store>
|
61 |
+
<!--<backup translate="label">-->
|
62 |
+
<!--<label>Backup Product Data</label>-->
|
63 |
+
<!--<frontend_type>button</frontend_type>-->
|
64 |
+
<!--<frontend_model>strakertranslations_easytranslationplatform/adminhtml_system_config_form_backupbutton</frontend_model>-->
|
65 |
+
<!--<sort_order>40</sort_order>-->
|
66 |
+
<!--<show_in_default>1</show_in_default>-->
|
67 |
+
<!--<show_in_website>1</show_in_website>-->
|
68 |
+
<!--<show_in_store>1</show_in_store>-->
|
69 |
+
<!--</backup>-->
|
70 |
+
<!--<restore translate="label">-->
|
71 |
+
<!--<label>Backup Product Data</label>-->
|
72 |
+
<!--<frontend_type>button</frontend_type>-->
|
73 |
+
<!--<frontend_model>strakertranslations_easytranslationplatform/adminhtml_system_config_form_restorebutton</frontend_model>-->
|
74 |
+
<!--<sort_order>50</sort_order>-->
|
75 |
+
<!--<show_in_default>1</show_in_default>-->
|
76 |
+
<!--<show_in_website>1</show_in_website>-->
|
77 |
+
<!--<show_in_store>1</show_in_store>-->
|
78 |
+
<!--</restore>-->
|
79 |
+
</fields>
|
80 |
+
</general>
|
81 |
+
<!--<api_url translate="label">-->
|
82 |
+
<!--<label>Api Url</label>-->
|
83 |
+
<!--<frontend_type>text</frontend_type>-->
|
84 |
+
<!--<sort_order>100</sort_order>-->
|
85 |
+
<!--<show_in_default>1</show_in_default>-->
|
86 |
+
<!--<show_in_website>1</show_in_website>-->
|
87 |
+
<!--<show_in_store>1</show_in_store>-->
|
88 |
+
<!--<fields>-->
|
89 |
+
<!--<register translate="label comment" >-->
|
90 |
+
<!--<label>Register</label>-->
|
91 |
+
<!--<frontend_type>text</frontend_type>-->
|
92 |
+
<!--<sort_order>10</sort_order>-->
|
93 |
+
<!--<show_in_default>1</show_in_default>-->
|
94 |
+
<!--<show_in_website>1</show_in_website>-->
|
95 |
+
<!--<show_in_store>1</show_in_store>-->
|
96 |
+
<!--</register>-->
|
97 |
+
<!--<languages translate="label comment" >-->
|
98 |
+
<!--<label>Languages</label>-->
|
99 |
+
<!--<frontend_type>text</frontend_type>-->
|
100 |
+
<!--<sort_order>30</sort_order>-->
|
101 |
+
<!--<show_in_default>1</show_in_default>-->
|
102 |
+
<!--<show_in_website>1</show_in_website>-->
|
103 |
+
<!--<show_in_store>1</show_in_store>-->
|
104 |
+
<!--</languages>-->
|
105 |
+
<!--<translate translate="label comment" >-->
|
106 |
+
<!--<label>Translate</label>-->
|
107 |
+
<!--<frontend_type>text</frontend_type>-->
|
108 |
+
<!--<sort_order>40</sort_order>-->
|
109 |
+
<!--<show_in_default>1</show_in_default>-->
|
110 |
+
<!--<show_in_website>1</show_in_website>-->
|
111 |
+
<!--<show_in_store>1</show_in_store>-->
|
112 |
+
<!--</translate>-->
|
113 |
+
<!--<countries translate="label comment" >-->
|
114 |
+
<!--<label>Countries</label>-->
|
115 |
+
<!--<frontend_type>text</frontend_type>-->
|
116 |
+
<!--<sort_order>20</sort_order>-->
|
117 |
+
<!--<show_in_default>1</show_in_default>-->
|
118 |
+
<!--<show_in_website>1</show_in_website>-->
|
119 |
+
<!--<show_in_store>1</show_in_store>-->
|
120 |
+
<!--</countries>-->
|
121 |
+
<!--<quote translate="label comment" >-->
|
122 |
+
<!--<label>Quote</label>-->
|
123 |
+
<!--<frontend_type>text</frontend_type>-->
|
124 |
+
<!--<sort_order>20</sort_order>-->
|
125 |
+
<!--<show_in_default>1</show_in_default>-->
|
126 |
+
<!--<show_in_website>1</show_in_website>-->
|
127 |
+
<!--<show_in_store>1</show_in_store>-->
|
128 |
+
<!--</quote>-->
|
129 |
+
<!--<payment translate="label comment" >-->
|
130 |
+
<!--<label>Payment</label>-->
|
131 |
+
<!--<frontend_type>text</frontend_type>-->
|
132 |
+
<!--<sort_order>50</sort_order>-->
|
133 |
+
<!--<show_in_default>1</show_in_default>-->
|
134 |
+
<!--<show_in_website>1</show_in_website>-->
|
135 |
+
<!--<show_in_store>1</show_in_store>-->
|
136 |
+
<!--</payment>-->
|
137 |
+
<!--<payment_page translate="label comment" >-->
|
138 |
+
<!--<label>Payment Page</label>-->
|
139 |
+
<!--<frontend_type>text</frontend_type>-->
|
140 |
+
<!--<sort_order>50</sort_order>-->
|
141 |
+
<!--<show_in_default>1</show_in_default>-->
|
142 |
+
<!--<show_in_website>1</show_in_website>-->
|
143 |
+
<!--<show_in_store>1</show_in_store>-->
|
144 |
+
<!--</payment_page>-->
|
145 |
+
<!--</fields>-->
|
146 |
+
<!--</api_url>-->
|
147 |
+
</groups>
|
148 |
+
</straker>
|
149 |
+
</sections>
|
150 |
+
</config>
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/sql/strakertranslations_easytranslationplatform_setup/install-1.2.0.php
ADDED
@@ -0,0 +1,752 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
4 |
+
$installer = $this;
|
5 |
+
$installer->startSetup();
|
6 |
+
$connection = $installer->getConnection();
|
7 |
+
|
8 |
+
$rawTableName = 'straker_actionlog';
|
9 |
+
$tableName = $installer->getTable($rawTableName);
|
10 |
+
if ($connection->isTableExists($tableName) != true) {
|
11 |
+
$table = $connection
|
12 |
+
->newTable($tableName)
|
13 |
+
->addColumn(
|
14 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
15 |
+
[
|
16 |
+
'identity' => true,
|
17 |
+
'unsigned' => true,
|
18 |
+
'nullable' => false,
|
19 |
+
'primary' => true
|
20 |
+
],
|
21 |
+
'ID'
|
22 |
+
)->addColumn(
|
23 |
+
'user_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
24 |
+
[
|
25 |
+
'nullable' => false,
|
26 |
+
'unsigned' => true,
|
27 |
+
],
|
28 |
+
'User ID'
|
29 |
+
)->addColumn(
|
30 |
+
'action', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
31 |
+
[
|
32 |
+
'default' => null
|
33 |
+
],
|
34 |
+
'Action'
|
35 |
+
)->addColumn(
|
36 |
+
'message', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
37 |
+
[],
|
38 |
+
'Message'
|
39 |
+
)->addColumn(
|
40 |
+
'extra', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
41 |
+
[],
|
42 |
+
'Extra'
|
43 |
+
)->addColumn(
|
44 |
+
'log_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null,
|
45 |
+
[
|
46 |
+
'default' => null
|
47 |
+
],
|
48 |
+
'Log Time'
|
49 |
+
)->addIndex(
|
50 |
+
$installer->getIdxName($rawTableName, 'user_id'),
|
51 |
+
'user_id'
|
52 |
+
)->addForeignKey(
|
53 |
+
$installer->getFkName($rawTableName, 'user_id', 'admin_user', 'user_id'),
|
54 |
+
'user_id',
|
55 |
+
$installer->getTable('admin_user'),
|
56 |
+
'user_id',
|
57 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
58 |
+
)->setComment('Straker Action Log Table');;
|
59 |
+
$connection->createTable($table);
|
60 |
+
}
|
61 |
+
|
62 |
+
$rawTableName = 'straker_apilog';
|
63 |
+
$tableName = $installer->getTable($rawTableName);
|
64 |
+
if ($connection->isTableExists($tableName) != true) {
|
65 |
+
$table = $connection
|
66 |
+
->newTable($tableName)
|
67 |
+
->addColumn(
|
68 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
69 |
+
[
|
70 |
+
'identity' => true,
|
71 |
+
'unsigned' => true,
|
72 |
+
'nullable' => false,
|
73 |
+
'primary' => true
|
74 |
+
],
|
75 |
+
'ID'
|
76 |
+
)->addColumn(
|
77 |
+
'method', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
78 |
+
[
|
79 |
+
'nullable' => false,
|
80 |
+
'default' => ''
|
81 |
+
],
|
82 |
+
'Method'
|
83 |
+
)->addColumn(
|
84 |
+
'request', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
85 |
+
[],
|
86 |
+
'Request'
|
87 |
+
)->addColumn(
|
88 |
+
'response', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
89 |
+
[],
|
90 |
+
'Response'
|
91 |
+
)->addColumn(
|
92 |
+
'timestamp', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null,
|
93 |
+
[
|
94 |
+
'default' => null
|
95 |
+
],
|
96 |
+
'Timestamp'
|
97 |
+
)->setComment('Straker Api Log Table');;
|
98 |
+
$connection->createTable($table);
|
99 |
+
}
|
100 |
+
|
101 |
+
$rawTableName = 'straker_job';
|
102 |
+
$tableName = $installer->getTable($rawTableName);
|
103 |
+
if ($connection->isTableExists($tableName) != true) {
|
104 |
+
$table = $connection
|
105 |
+
->newTable($tableName)
|
106 |
+
->addColumn(
|
107 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
108 |
+
[
|
109 |
+
'identity' => true,
|
110 |
+
'unsigned' => true,
|
111 |
+
'nullable' => false,
|
112 |
+
'primary' => true
|
113 |
+
],
|
114 |
+
'ID'
|
115 |
+
)->addColumn(
|
116 |
+
'type_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
117 |
+
[
|
118 |
+
'unsigned' => true,
|
119 |
+
'nullable' => false
|
120 |
+
],
|
121 |
+
'Type Id'
|
122 |
+
)->addColumn(
|
123 |
+
'source_store', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
124 |
+
[
|
125 |
+
'unsigned' => true,
|
126 |
+
'nullable' => false
|
127 |
+
],
|
128 |
+
'Source Store'
|
129 |
+
)->addColumn(
|
130 |
+
'store_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
131 |
+
[
|
132 |
+
'unsigned' => true,
|
133 |
+
'nullable' => false
|
134 |
+
],
|
135 |
+
'Store Id'
|
136 |
+
)->addColumn(
|
137 |
+
'title', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
138 |
+
[
|
139 |
+
'default' => null
|
140 |
+
],
|
141 |
+
'Title'
|
142 |
+
)->addColumn(
|
143 |
+
'tj_number', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
144 |
+
[
|
145 |
+
'default' => null
|
146 |
+
],
|
147 |
+
'Job Number'
|
148 |
+
)->addColumn(
|
149 |
+
'sl', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
150 |
+
[
|
151 |
+
'default' => null
|
152 |
+
],
|
153 |
+
'Source Language'
|
154 |
+
)->addColumn(
|
155 |
+
'tl', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
156 |
+
[
|
157 |
+
'default' => null
|
158 |
+
],
|
159 |
+
'Target Language'
|
160 |
+
)->addColumn(
|
161 |
+
'job_key', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
162 |
+
[
|
163 |
+
'default' => null
|
164 |
+
],
|
165 |
+
'Job Key'
|
166 |
+
)->addColumn(
|
167 |
+
'quote', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
168 |
+
[
|
169 |
+
'default' => null
|
170 |
+
],
|
171 |
+
'Quote'
|
172 |
+
)->addColumn(
|
173 |
+
'status_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
174 |
+
[
|
175 |
+
'unsigned' => true,
|
176 |
+
'nullable' => false,
|
177 |
+
'default' => 1
|
178 |
+
],
|
179 |
+
'Status Id'
|
180 |
+
)->addColumn(
|
181 |
+
'work_flow', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
182 |
+
[
|
183 |
+
'default' => null
|
184 |
+
],
|
185 |
+
'Work Flow'
|
186 |
+
)->addColumn(
|
187 |
+
'payment_status', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
188 |
+
[
|
189 |
+
'default' => null
|
190 |
+
],
|
191 |
+
'Payment Status'
|
192 |
+
)->addColumn(
|
193 |
+
'source_file', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
194 |
+
[
|
195 |
+
'default' => null
|
196 |
+
],
|
197 |
+
'Source File'
|
198 |
+
)->addColumn(
|
199 |
+
'download_url', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
200 |
+
[
|
201 |
+
'default' => null
|
202 |
+
],
|
203 |
+
'Download Url'
|
204 |
+
)->addColumn(
|
205 |
+
'remote_version', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
206 |
+
[
|
207 |
+
'default' => null
|
208 |
+
],
|
209 |
+
'Remote Version'
|
210 |
+
)->addColumn(
|
211 |
+
'downloaded_version', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
212 |
+
[
|
213 |
+
'default' => null
|
214 |
+
],
|
215 |
+
'Downloaded Version'
|
216 |
+
)->addColumn(
|
217 |
+
'created_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null,
|
218 |
+
[
|
219 |
+
'default' => null
|
220 |
+
],
|
221 |
+
'Created Time'
|
222 |
+
)->addColumn(
|
223 |
+
'updated_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null,
|
224 |
+
[
|
225 |
+
'default' => null
|
226 |
+
],
|
227 |
+
'Updated Time'
|
228 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_key'),
|
229 |
+
'job_key',
|
230 |
+
[
|
231 |
+
'type' => Varien_Db_Adapter_Interface::INDEX_TYPE_UNIQUE
|
232 |
+
]
|
233 |
+
)->addIndex($installer->getIdxName($rawTableName, 'store_id'),
|
234 |
+
'store_id'
|
235 |
+
)->addIndex($installer->getIdxName($rawTableName, 'type_id'),
|
236 |
+
'type_id'
|
237 |
+
)->addIndex($installer->getIdxName($rawTableName, 'status_id'),
|
238 |
+
'status_id'
|
239 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'store_id', 'core_store', 'store_id'),
|
240 |
+
'store_id', $installer->getTable('core_store'), 'store_id',
|
241 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
242 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'type_id', 'straker_job_type', 'type_id'),
|
243 |
+
'type_id', $installer->getTable('straker_job_type'), 'type_id',
|
244 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
245 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'status_id', 'straker_job_status', 'status_id'),
|
246 |
+
'status_id', $installer->getTable('straker_job_status'), 'status_id',
|
247 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
248 |
+
)->setComment('Straker Job Table');
|
249 |
+
$connection->createTable($table);
|
250 |
+
}
|
251 |
+
|
252 |
+
$rawTableName = 'straker_job_product';
|
253 |
+
$tableName = $installer->getTable($rawTableName);
|
254 |
+
if ($connection->isTableExists($tableName) != true) {
|
255 |
+
$table = $connection
|
256 |
+
->newTable($tableName)
|
257 |
+
->addColumn(
|
258 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
259 |
+
[
|
260 |
+
'identity' => true,
|
261 |
+
'unsigned' => true,
|
262 |
+
'nullable' => false,
|
263 |
+
'primary' => true
|
264 |
+
],
|
265 |
+
'ID'
|
266 |
+
)->addColumn(
|
267 |
+
'product_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
268 |
+
[
|
269 |
+
'unsigned' => true,
|
270 |
+
'nullable' => false
|
271 |
+
],
|
272 |
+
'Product Id'
|
273 |
+
)->addColumn(
|
274 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
275 |
+
[
|
276 |
+
'unsigned' => true,
|
277 |
+
'nullable' => false
|
278 |
+
],
|
279 |
+
'Job Id'
|
280 |
+
)->addColumn(
|
281 |
+
'version', Varien_Db_Ddl_Table::TYPE_SMALLINT, 6,
|
282 |
+
[
|
283 |
+
'default' => null
|
284 |
+
],
|
285 |
+
'Version'
|
286 |
+
)->addIndex($installer->getIdxName($rawTableName, 'product_id'),
|
287 |
+
'product_id'
|
288 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_id'),
|
289 |
+
'job_id'
|
290 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
291 |
+
'job_id', $installer->getTable('straker_job'), 'id',
|
292 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
293 |
+
)->setComment('Straker Product Job Table');
|
294 |
+
$connection->createTable($table);
|
295 |
+
}
|
296 |
+
|
297 |
+
$rawTableName = 'straker_job_status';
|
298 |
+
$tableName = $installer->getTable($rawTableName);
|
299 |
+
if ($connection->isTableExists($tableName) != true) {
|
300 |
+
$table = $connection
|
301 |
+
->newTable($tableName)
|
302 |
+
->addColumn(
|
303 |
+
'status_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
304 |
+
[
|
305 |
+
'identity' => true,
|
306 |
+
'unsigned' => true,
|
307 |
+
'nullable' => false,
|
308 |
+
'primary' => true
|
309 |
+
],
|
310 |
+
'Status Id'
|
311 |
+
)->addColumn(
|
312 |
+
'status_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
313 |
+
[
|
314 |
+
'nullable' => false,
|
315 |
+
'default' => ''
|
316 |
+
],
|
317 |
+
'Status Name'
|
318 |
+
)->setComment('Straker Job Status Table');
|
319 |
+
$connection->createTable($table);
|
320 |
+
}
|
321 |
+
|
322 |
+
$rawTableName = 'straker_job_type';
|
323 |
+
$tableName = $installer->getTable($rawTableName);
|
324 |
+
if ($connection->isTableExists($tableName) != true) {
|
325 |
+
$table = $connection
|
326 |
+
->newTable($tableName)
|
327 |
+
->addColumn(
|
328 |
+
'type_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
329 |
+
[
|
330 |
+
'identity' => true,
|
331 |
+
'unsigned' => true,
|
332 |
+
'nullable' => false,
|
333 |
+
'primary' => true
|
334 |
+
],
|
335 |
+
'Type Id'
|
336 |
+
)->addColumn(
|
337 |
+
'type_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
338 |
+
[
|
339 |
+
'nullable' => false,
|
340 |
+
'default' => ''
|
341 |
+
],
|
342 |
+
'Type Name'
|
343 |
+
)->setComment('Straker Job Type Table');
|
344 |
+
$connection->createTable($table);
|
345 |
+
}
|
346 |
+
|
347 |
+
$rawTableName = 'straker_product_attributes';
|
348 |
+
$tableName = $installer->getTable($rawTableName);
|
349 |
+
if ($connection->isTableExists($tableName) != true) {
|
350 |
+
$table = $connection
|
351 |
+
->newTable($tableName)
|
352 |
+
->addColumn(
|
353 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
354 |
+
[
|
355 |
+
'identity' => true,
|
356 |
+
'unsigned' => true,
|
357 |
+
'nullable' => false,
|
358 |
+
'primary' => true
|
359 |
+
],
|
360 |
+
'ID'
|
361 |
+
)->addColumn(
|
362 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
363 |
+
[
|
364 |
+
'unsigned' => true,
|
365 |
+
'nullable' => false
|
366 |
+
],
|
367 |
+
'Job Id'
|
368 |
+
)->addColumn(
|
369 |
+
'attribute_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
370 |
+
[
|
371 |
+
'unsigned' => true,
|
372 |
+
'nullable' => false
|
373 |
+
],
|
374 |
+
'Attribute Id'
|
375 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_id'),
|
376 |
+
'job_id'
|
377 |
+
)->addIndex($installer->getIdxName($rawTableName, 'attribute_id'),
|
378 |
+
'attribute_id'
|
379 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'attribute_id', 'eav_attribute', 'attribute_id'),
|
380 |
+
'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id',
|
381 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
382 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
383 |
+
'job_id', $installer->getTable('straker_job'), 'id',
|
384 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
385 |
+
)->setComment('Straker Product Attribute Table');
|
386 |
+
$connection->createTable($table);
|
387 |
+
}
|
388 |
+
|
389 |
+
$rawTableName = 'straker_product_translate';
|
390 |
+
$tableName = $installer->getTable($rawTableName);
|
391 |
+
if ($connection->isTableExists($tableName) != true) {
|
392 |
+
$table = $connection
|
393 |
+
->newTable($tableName)
|
394 |
+
->addColumn(
|
395 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
396 |
+
[
|
397 |
+
'identity' => true,
|
398 |
+
'unsigned' => true,
|
399 |
+
'nullable' => false,
|
400 |
+
'primary' => true
|
401 |
+
],
|
402 |
+
'ID'
|
403 |
+
)->addColumn(
|
404 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
405 |
+
[
|
406 |
+
'unsigned' => true,
|
407 |
+
'nullable' => false
|
408 |
+
],
|
409 |
+
'Job Id'
|
410 |
+
)->addColumn(
|
411 |
+
'product_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
412 |
+
[
|
413 |
+
'unsigned' => true,
|
414 |
+
'nullable' => false
|
415 |
+
],
|
416 |
+
'Product Id'
|
417 |
+
)->addColumn(
|
418 |
+
'attribute_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
419 |
+
[
|
420 |
+
'unsigned' => true,
|
421 |
+
'nullable' => false
|
422 |
+
],
|
423 |
+
'Attribute Id'
|
424 |
+
)->addColumn(
|
425 |
+
'original', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
426 |
+
[],
|
427 |
+
'Original'
|
428 |
+
)->addColumn(
|
429 |
+
'translate', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
430 |
+
[],
|
431 |
+
'Translate'
|
432 |
+
)->addColumn(
|
433 |
+
'backup', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
434 |
+
[],
|
435 |
+
'Backup'
|
436 |
+
)->addColumn(
|
437 |
+
'is_imported', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
438 |
+
[
|
439 |
+
'unsigned' => true,
|
440 |
+
'nullable' => false,
|
441 |
+
'default' => 0
|
442 |
+
],
|
443 |
+
'Is Imported'
|
444 |
+
)->addIndex($installer->getIdxName($rawTableName, 'product_id'),
|
445 |
+
'product_id'
|
446 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_id'),
|
447 |
+
'job_id'
|
448 |
+
)->addIndex($installer->getIdxName($rawTableName, 'attribute_id'),
|
449 |
+
'attribute_id'
|
450 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'attribute_id', 'eav_attribute', 'attribute_id'),
|
451 |
+
'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id',
|
452 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
453 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
454 |
+
'job_id', $installer->getTable('straker_job'), 'id',
|
455 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
456 |
+
)->setComment('Straker Product Translation Table');
|
457 |
+
$connection->createTable($table);
|
458 |
+
}
|
459 |
+
|
460 |
+
$rawTableName = 'straker_job_category';
|
461 |
+
$tableName = $installer->getTable($rawTableName);
|
462 |
+
if ($connection->isTableExists($tableName) != true) {
|
463 |
+
$table = $connection
|
464 |
+
->newTable($tableName)
|
465 |
+
->addColumn(
|
466 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
467 |
+
[
|
468 |
+
'identity' => true,
|
469 |
+
'unsigned' => true,
|
470 |
+
'nullable' => false,
|
471 |
+
'primary' => true
|
472 |
+
],
|
473 |
+
'ID'
|
474 |
+
)->addColumn(
|
475 |
+
'category_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
476 |
+
[
|
477 |
+
'unsigned' => true,
|
478 |
+
'nullable' => false
|
479 |
+
],
|
480 |
+
'Category Id'
|
481 |
+
)->addColumn(
|
482 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
483 |
+
[
|
484 |
+
'unsigned' => true,
|
485 |
+
'nullable' => false
|
486 |
+
],
|
487 |
+
'Job Id'
|
488 |
+
)->addColumn(
|
489 |
+
'version', Varien_Db_Ddl_Table::TYPE_SMALLINT, 6,
|
490 |
+
[
|
491 |
+
'default' => null
|
492 |
+
],
|
493 |
+
'Version'
|
494 |
+
)->addIndex($installer->getIdxName($rawTableName, 'category_id'),
|
495 |
+
'category_id'
|
496 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_id'),
|
497 |
+
'job_id'
|
498 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'category_id', 'catalog_category_entity', 'entity_id'),
|
499 |
+
'category_id', $installer->getTable('catalog_category_entity'), 'entity_id',
|
500 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
501 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
502 |
+
'job_id', $installer->getTable('straker_job'), 'id',
|
503 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
504 |
+
)->setComment('Straker Category Job Table');
|
505 |
+
|
506 |
+
$connection->createTable($table);
|
507 |
+
}
|
508 |
+
|
509 |
+
$rawTableName = 'straker_category_attributes';
|
510 |
+
$tableName = $installer->getTable($rawTableName);
|
511 |
+
if ($connection->isTableExists($tableName) != true) {
|
512 |
+
$table = $connection
|
513 |
+
->newTable($tableName)
|
514 |
+
->addColumn(
|
515 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
516 |
+
[
|
517 |
+
'identity' => true,
|
518 |
+
'unsigned' => true,
|
519 |
+
'nullable' => false,
|
520 |
+
'primary' => true
|
521 |
+
],
|
522 |
+
'ID'
|
523 |
+
)->addColumn(
|
524 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
525 |
+
[
|
526 |
+
'unsigned' => true,
|
527 |
+
'nullable' => false
|
528 |
+
],
|
529 |
+
'Job Id'
|
530 |
+
)->addColumn(
|
531 |
+
'attribute_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
532 |
+
[
|
533 |
+
'unsigned' => true,
|
534 |
+
'nullable' => false
|
535 |
+
],
|
536 |
+
'Attribute Id'
|
537 |
+
)->addIndex($installer->getIdxName($rawTableName, 'attribute_id'),
|
538 |
+
'attribute_id'
|
539 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_id'),
|
540 |
+
'job_id'
|
541 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'attribute_id', 'eav_attribute', 'attribute_id'),
|
542 |
+
'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id',
|
543 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
544 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
545 |
+
'job_id', $installer->getTable('straker_job'), 'id',
|
546 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
547 |
+
)->setComment('Straker Category Attribute Table');
|
548 |
+
|
549 |
+
$connection->createTable($table);
|
550 |
+
}
|
551 |
+
|
552 |
+
$rawTableName = 'straker_category_translate';
|
553 |
+
$tableName = $installer->getTable($rawTableName);
|
554 |
+
if ($connection->isTableExists($tableName) != true) {
|
555 |
+
$table = $connection
|
556 |
+
->newTable($tableName)
|
557 |
+
->addColumn(
|
558 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
559 |
+
[
|
560 |
+
'identity' => true,
|
561 |
+
'unsigned' => true,
|
562 |
+
'nullable' => false,
|
563 |
+
'primary' => true
|
564 |
+
],
|
565 |
+
'ID'
|
566 |
+
)->addColumn(
|
567 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
568 |
+
[
|
569 |
+
'unsigned' => true,
|
570 |
+
'nullable' => false
|
571 |
+
],
|
572 |
+
'Job Id'
|
573 |
+
)->addColumn(
|
574 |
+
'category_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
575 |
+
[
|
576 |
+
'unsigned' => true,
|
577 |
+
'nullable' => false
|
578 |
+
],
|
579 |
+
'Category Id'
|
580 |
+
)->addColumn(
|
581 |
+
'attribute_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
582 |
+
[
|
583 |
+
'unsigned' => true,
|
584 |
+
'nullable' => false
|
585 |
+
],
|
586 |
+
'Attribute Id'
|
587 |
+
)->addColumn(
|
588 |
+
'original', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
589 |
+
[],
|
590 |
+
'Original'
|
591 |
+
)->addColumn(
|
592 |
+
'translate', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
593 |
+
[],
|
594 |
+
'Translate'
|
595 |
+
)->addColumn(
|
596 |
+
'backup', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
597 |
+
[],
|
598 |
+
'Backup'
|
599 |
+
)->addColumn(
|
600 |
+
'is_imported', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
601 |
+
[
|
602 |
+
'unsigned' => true,
|
603 |
+
'nullable' => false,
|
604 |
+
'default' => 0
|
605 |
+
],
|
606 |
+
'Is Imported'
|
607 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_id'),
|
608 |
+
'job_id'
|
609 |
+
)->addIndex($installer->getIdxName($rawTableName, 'attribute_id'),
|
610 |
+
'attribute_id'
|
611 |
+
)->addIndex($installer->getIdxName($rawTableName, 'category_id'),
|
612 |
+
'category_id'
|
613 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'attribute_id', 'eav_attribute', 'attribute_id'),
|
614 |
+
'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id',
|
615 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
616 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
617 |
+
'job_id', $installer->getTable('straker_job'), 'id',
|
618 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
619 |
+
)->setComment('Straker Category Translation Table');
|
620 |
+
|
621 |
+
$connection->createTable($table);
|
622 |
+
}
|
623 |
+
|
624 |
+
$rawTableName = 'straker_job_attribute';
|
625 |
+
$tableName = $installer->getTable($rawTableName);
|
626 |
+
if ($connection->isTableExists($tableName) != true) {
|
627 |
+
$table = $connection
|
628 |
+
->newTable($tableName)
|
629 |
+
->addColumn(
|
630 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
631 |
+
[
|
632 |
+
'identity' => true,
|
633 |
+
'unsigned' => true,
|
634 |
+
'nullable' => false,
|
635 |
+
'primary' => true
|
636 |
+
],
|
637 |
+
'ID'
|
638 |
+
)->addColumn(
|
639 |
+
'attribute_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
640 |
+
[
|
641 |
+
'unsigned' => true,
|
642 |
+
'nullable' => false
|
643 |
+
],
|
644 |
+
'Attribute Id'
|
645 |
+
)->addColumn(
|
646 |
+
'translate_label', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
647 |
+
[
|
648 |
+
'unsigned' => true,
|
649 |
+
'nullable' => false,
|
650 |
+
'default' => 0
|
651 |
+
],
|
652 |
+
'Translate Label'
|
653 |
+
)->addColumn(
|
654 |
+
'translate_option', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
655 |
+
[
|
656 |
+
'unsigned' => true,
|
657 |
+
'nullable' => false,
|
658 |
+
'default' => 0
|
659 |
+
],
|
660 |
+
'Translate Option'
|
661 |
+
)->addColumn(
|
662 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
663 |
+
[
|
664 |
+
'unsigned' => true,
|
665 |
+
'nullable' => false
|
666 |
+
],
|
667 |
+
'Job Id'
|
668 |
+
)->addColumn(
|
669 |
+
'version', Varien_Db_Ddl_Table::TYPE_SMALLINT, 6,
|
670 |
+
[
|
671 |
+
'default' => null
|
672 |
+
],
|
673 |
+
'Version'
|
674 |
+
)->addIndex($installer->getIdxName($rawTableName, 'attribute_id'),
|
675 |
+
'attribute_id'
|
676 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_id'),
|
677 |
+
'job_id'
|
678 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'attribute_id', 'eav_attribute', 'attribute_id'),
|
679 |
+
'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id',
|
680 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
681 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
682 |
+
'job_id', $installer->getTable('straker_job'), 'id',
|
683 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
684 |
+
)->setComment('Straker Attribute Job Table');
|
685 |
+
|
686 |
+
$connection->createTable($table);
|
687 |
+
}
|
688 |
+
|
689 |
+
$rawTableName = 'straker_attribute_translate';
|
690 |
+
$tableName = $installer->getTable($rawTableName);
|
691 |
+
if ($connection->isTableExists($tableName) != true) {
|
692 |
+
$table = $connection
|
693 |
+
->newTable($tableName)
|
694 |
+
->addColumn(
|
695 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
696 |
+
[
|
697 |
+
'identity' => true,
|
698 |
+
'unsigned' => true,
|
699 |
+
'nullable' => false,
|
700 |
+
'primary' => true
|
701 |
+
],
|
702 |
+
'ID'
|
703 |
+
)->addColumn(
|
704 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
705 |
+
[
|
706 |
+
'unsigned' => true,
|
707 |
+
'nullable' => false
|
708 |
+
],
|
709 |
+
'Job Id'
|
710 |
+
)->addColumn(
|
711 |
+
'attribute_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
712 |
+
[
|
713 |
+
'unsigned' => true,
|
714 |
+
'nullable' => false
|
715 |
+
],
|
716 |
+
'Attribute Id'
|
717 |
+
)->addColumn(
|
718 |
+
'original', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
719 |
+
[],
|
720 |
+
'Original'
|
721 |
+
)->addColumn(
|
722 |
+
'translate', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
723 |
+
[],
|
724 |
+
'Translate'
|
725 |
+
)->addColumn(
|
726 |
+
'backup', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
727 |
+
[],
|
728 |
+
'Backup'
|
729 |
+
)->addColumn(
|
730 |
+
'is_imported', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
731 |
+
[
|
732 |
+
'unsigned' => true,
|
733 |
+
'nullable' => false,
|
734 |
+
'default' => 0
|
735 |
+
],
|
736 |
+
'Is Imported'
|
737 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_id'),
|
738 |
+
'job_id'
|
739 |
+
)->addIndex($installer->getIdxName($rawTableName, 'attribute_id'),
|
740 |
+
'attribute_id'
|
741 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
742 |
+
'job_id', $installer->getTable('straker_job'), 'id',
|
743 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
744 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'attribute_id', 'eav_attribute', 'attribute_id'),
|
745 |
+
'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id',
|
746 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
747 |
+
)->setComment('Straker Attribute Translation Table');
|
748 |
+
|
749 |
+
$connection->createTable($table);
|
750 |
+
}
|
751 |
+
|
752 |
+
$installer->endSetup();
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/sql/strakertranslations_easytranslationplatform_setup/upgrade-1.2.0-1.3.0.php
ADDED
@@ -0,0 +1,358 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: stevenyang
|
5 |
+
* Date: 18/09/15
|
6 |
+
* Time: 9:46 AM
|
7 |
+
*/
|
8 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
9 |
+
$installer = $this;
|
10 |
+
$installer->startSetup();
|
11 |
+
$connection = $installer->getConnection();
|
12 |
+
|
13 |
+
$rawTableName = 'straker_cms_block_attributes';
|
14 |
+
$tableName = $installer->getTable($rawTableName);
|
15 |
+
if ($connection->isTableExists($tableName) != true) {
|
16 |
+
$table = $connection
|
17 |
+
->newTable($tableName)
|
18 |
+
->addColumn(
|
19 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
20 |
+
[
|
21 |
+
'identity' => true,
|
22 |
+
'unsigned' => true,
|
23 |
+
'nullable' => false,
|
24 |
+
'primary' => true
|
25 |
+
],
|
26 |
+
'ID'
|
27 |
+
)->addColumn(
|
28 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
29 |
+
[
|
30 |
+
'nullable' => false,
|
31 |
+
'unsigned' => true,
|
32 |
+
],
|
33 |
+
'User ID'
|
34 |
+
)->addColumn(
|
35 |
+
'column_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
36 |
+
[
|
37 |
+
'default' => null
|
38 |
+
],
|
39 |
+
'Column Name'
|
40 |
+
)->addIndex(
|
41 |
+
$installer->getIdxName($rawTableName, 'job_id'),
|
42 |
+
'job_id'
|
43 |
+
)->addForeignKey(
|
44 |
+
$installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
45 |
+
'job_id',
|
46 |
+
$installer->getTable('straker_job'),
|
47 |
+
'id',
|
48 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
49 |
+
)->setComment('Straker Cms Block Attribute Table');;
|
50 |
+
$connection->createTable($table);
|
51 |
+
}
|
52 |
+
|
53 |
+
|
54 |
+
$rawTableName = 'straker_cms_block_translate';
|
55 |
+
$tableName = $installer->getTable($rawTableName);
|
56 |
+
if ($connection->isTableExists($tableName) != true) {
|
57 |
+
$table = $connection
|
58 |
+
->newTable($tableName)
|
59 |
+
->addColumn(
|
60 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
61 |
+
[
|
62 |
+
'identity' => true,
|
63 |
+
'unsigned' => true,
|
64 |
+
'nullable' => false,
|
65 |
+
'primary' => true
|
66 |
+
],
|
67 |
+
'ID'
|
68 |
+
)->addColumn(
|
69 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
70 |
+
[
|
71 |
+
'nullable' => false,
|
72 |
+
'unsigned' => true,
|
73 |
+
],
|
74 |
+
'User ID'
|
75 |
+
)->addColumn(
|
76 |
+
'cms_block_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
77 |
+
[
|
78 |
+
'default' => null
|
79 |
+
],
|
80 |
+
'Cms Block ID'
|
81 |
+
)->addColumn(
|
82 |
+
'column_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
83 |
+
[
|
84 |
+
'nullable' => false,
|
85 |
+
'default' => ''
|
86 |
+
],
|
87 |
+
'Column Name'
|
88 |
+
)->addColumn(
|
89 |
+
'original', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
90 |
+
[],
|
91 |
+
'Original'
|
92 |
+
)->addColumn(
|
93 |
+
'translate', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
94 |
+
[],
|
95 |
+
'Translate'
|
96 |
+
)->addColumn(
|
97 |
+
'backup', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
98 |
+
[],
|
99 |
+
'Backup'
|
100 |
+
)->addColumn(
|
101 |
+
'is_imported', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
102 |
+
[
|
103 |
+
'unsigned' => true,
|
104 |
+
'nullable' => false,
|
105 |
+
'default' => 0
|
106 |
+
],
|
107 |
+
'Is Imported'
|
108 |
+
)->addColumn(
|
109 |
+
'job_cms_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
110 |
+
[
|
111 |
+
'default' => null
|
112 |
+
],
|
113 |
+
'Job Cms ID'
|
114 |
+
)->addIndex(
|
115 |
+
$installer->getIdxName($rawTableName, 'job_id'),
|
116 |
+
'job_id'
|
117 |
+
)->addForeignKey(
|
118 |
+
$installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
119 |
+
'job_id',
|
120 |
+
$installer->getTable('straker_job'),
|
121 |
+
'id',
|
122 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
123 |
+
)->setComment('Straker Cms Block Translate Table');;
|
124 |
+
$connection->createTable($table);
|
125 |
+
}
|
126 |
+
|
127 |
+
$rawTableName = 'straker_cms_page_attributes';
|
128 |
+
$tableName = $installer->getTable($rawTableName);
|
129 |
+
if ($connection->isTableExists($tableName) != true) {
|
130 |
+
$table = $connection
|
131 |
+
->newTable($tableName)
|
132 |
+
->addColumn(
|
133 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
134 |
+
[
|
135 |
+
'identity' => true,
|
136 |
+
'unsigned' => true,
|
137 |
+
'nullable' => false,
|
138 |
+
'primary' => true
|
139 |
+
],
|
140 |
+
'ID'
|
141 |
+
)->addColumn(
|
142 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
143 |
+
[
|
144 |
+
'nullable' => false,
|
145 |
+
'unsigned' => true,
|
146 |
+
],
|
147 |
+
'User ID'
|
148 |
+
)->addColumn(
|
149 |
+
'column_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
150 |
+
[
|
151 |
+
'default' => null
|
152 |
+
],
|
153 |
+
'Column Name'
|
154 |
+
)->addIndex(
|
155 |
+
$installer->getIdxName($rawTableName, 'job_id'),
|
156 |
+
'job_id'
|
157 |
+
)->addForeignKey(
|
158 |
+
$installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
159 |
+
'job_id',
|
160 |
+
$installer->getTable('straker_job'),
|
161 |
+
'id',
|
162 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
163 |
+
)->setComment('Straker Cms Block Translate Table');;
|
164 |
+
$connection->createTable($table);
|
165 |
+
}
|
166 |
+
|
167 |
+
$rawTableName = 'straker_cms_page_translate';
|
168 |
+
$tableName = $installer->getTable($rawTableName);
|
169 |
+
if ($connection->isTableExists($tableName) != true) {
|
170 |
+
$table = $connection
|
171 |
+
->newTable($tableName)
|
172 |
+
->addColumn(
|
173 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
174 |
+
[
|
175 |
+
'identity' => true,
|
176 |
+
'unsigned' => true,
|
177 |
+
'nullable' => false,
|
178 |
+
'primary' => true
|
179 |
+
],
|
180 |
+
'ID'
|
181 |
+
)->addColumn(
|
182 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
183 |
+
[
|
184 |
+
'nullable' => false,
|
185 |
+
'unsigned' => true,
|
186 |
+
],
|
187 |
+
'User ID'
|
188 |
+
)->addColumn(
|
189 |
+
'cms_page_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
190 |
+
[
|
191 |
+
'default' => null
|
192 |
+
],
|
193 |
+
'Cms Page ID'
|
194 |
+
)->addColumn(
|
195 |
+
'column_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255,
|
196 |
+
[
|
197 |
+
'nullable' => false,
|
198 |
+
'default' => ''
|
199 |
+
],
|
200 |
+
'Column Name'
|
201 |
+
)->addColumn(
|
202 |
+
'original', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
203 |
+
[],
|
204 |
+
'Original'
|
205 |
+
)->addColumn(
|
206 |
+
'translate', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
207 |
+
[],
|
208 |
+
'Translate'
|
209 |
+
)->addColumn(
|
210 |
+
'backup', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
211 |
+
[],
|
212 |
+
'Backup'
|
213 |
+
)->addColumn(
|
214 |
+
'is_imported', Varien_Db_Ddl_Table::TYPE_SMALLINT, 5,
|
215 |
+
[
|
216 |
+
'unsigned' => true,
|
217 |
+
'nullable' => false,
|
218 |
+
'default' => 0
|
219 |
+
],
|
220 |
+
'Is Imported'
|
221 |
+
)->addColumn(
|
222 |
+
'job_cms_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
223 |
+
[
|
224 |
+
'default' => null
|
225 |
+
],
|
226 |
+
'Job Cms ID'
|
227 |
+
)->addIndex(
|
228 |
+
$installer->getIdxName($rawTableName, 'job_id'),
|
229 |
+
'job_id'
|
230 |
+
)->addForeignKey(
|
231 |
+
$installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
232 |
+
'job_id',
|
233 |
+
$installer->getTable('straker_job'),
|
234 |
+
'id',
|
235 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
236 |
+
)->setComment('Straker Cms Block Translate Table');;
|
237 |
+
$connection->createTable($table);
|
238 |
+
}
|
239 |
+
|
240 |
+
|
241 |
+
$rawTableName = 'straker_job_cmsblock';
|
242 |
+
$tableName = $installer->getTable($rawTableName);
|
243 |
+
if ($connection->isTableExists($tableName) != true) {
|
244 |
+
$table = $connection
|
245 |
+
->newTable($tableName)
|
246 |
+
->addColumn(
|
247 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
248 |
+
[
|
249 |
+
'identity' => true,
|
250 |
+
'unsigned' => true,
|
251 |
+
'nullable' => false,
|
252 |
+
'primary' => true
|
253 |
+
],
|
254 |
+
'ID'
|
255 |
+
)->addColumn(
|
256 |
+
'block_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 6,
|
257 |
+
[
|
258 |
+
'nullable' => false
|
259 |
+
],
|
260 |
+
'Block Id'
|
261 |
+
)->addColumn(
|
262 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
263 |
+
[
|
264 |
+
'unsigned' => true,
|
265 |
+
'nullable' => false
|
266 |
+
],
|
267 |
+
'Job Id'
|
268 |
+
)->addColumn(
|
269 |
+
'version', Varien_Db_Ddl_Table::TYPE_SMALLINT, 6,
|
270 |
+
[
|
271 |
+
'default' => null
|
272 |
+
],
|
273 |
+
'Version'
|
274 |
+
)->addColumn(
|
275 |
+
'origin', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
276 |
+
[],
|
277 |
+
'Origin'
|
278 |
+
)->addColumn(
|
279 |
+
'new_entity_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
280 |
+
[
|
281 |
+
'default' => null
|
282 |
+
],
|
283 |
+
'New Entity ID'
|
284 |
+
)->addIndex($installer->getIdxName($rawTableName, 'block_id'),
|
285 |
+
'block_id'
|
286 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_id'),
|
287 |
+
'job_id'
|
288 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'block_id', 'cms_block', 'block_id'),
|
289 |
+
'block_id', $installer->getTable('cms_block'), 'block_id',
|
290 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
291 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
292 |
+
'job_id', $installer->getTable('straker_job'), 'id',
|
293 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
294 |
+
)->setComment('Straker Cms Block Job Table');
|
295 |
+
|
296 |
+
$connection->createTable($table);
|
297 |
+
}
|
298 |
+
|
299 |
+
|
300 |
+
$rawTableName = 'straker_job_cmspage';
|
301 |
+
$tableName = $installer->getTable($rawTableName);
|
302 |
+
if ($connection->isTableExists($tableName) != true) {
|
303 |
+
$table = $connection
|
304 |
+
->newTable($tableName)
|
305 |
+
->addColumn(
|
306 |
+
'id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
307 |
+
[
|
308 |
+
'identity' => true,
|
309 |
+
'unsigned' => true,
|
310 |
+
'nullable' => false,
|
311 |
+
'primary' => true
|
312 |
+
],
|
313 |
+
'ID'
|
314 |
+
)->addColumn(
|
315 |
+
'page_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, 6,
|
316 |
+
[
|
317 |
+
'nullable' => false
|
318 |
+
],
|
319 |
+
'Page Id'
|
320 |
+
)->addColumn(
|
321 |
+
'job_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
322 |
+
[
|
323 |
+
'unsigned' => true,
|
324 |
+
'nullable' => false
|
325 |
+
],
|
326 |
+
'Job Id'
|
327 |
+
)->addColumn(
|
328 |
+
'version', Varien_Db_Ddl_Table::TYPE_SMALLINT, 6,
|
329 |
+
[
|
330 |
+
'default' => null
|
331 |
+
],
|
332 |
+
'Version'
|
333 |
+
)->addColumn(
|
334 |
+
'origin', Varien_Db_Ddl_Table::TYPE_TEXT, null,
|
335 |
+
[],
|
336 |
+
'Origin'
|
337 |
+
)->addColumn(
|
338 |
+
'new_entity_id', Varien_Db_Ddl_Table::TYPE_INTEGER, 10,
|
339 |
+
[
|
340 |
+
'default' => null
|
341 |
+
],
|
342 |
+
'New Entity ID'
|
343 |
+
)->addIndex($installer->getIdxName($rawTableName, 'page_id'),
|
344 |
+
'page_id'
|
345 |
+
)->addIndex($installer->getIdxName($rawTableName, 'job_id'),
|
346 |
+
'job_id'
|
347 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'page_id', 'cms_page', 'page_id'),
|
348 |
+
'page_id', $installer->getTable('cms_page'), 'page_id',
|
349 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
350 |
+
)->addForeignKey($installer->getFkName($rawTableName, 'job_id', 'straker_job', 'id'),
|
351 |
+
'job_id', $installer->getTable('straker_job'), 'id',
|
352 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
353 |
+
)->setComment('Straker Cms Page Job Table');
|
354 |
+
|
355 |
+
$connection->createTable($table);
|
356 |
+
}
|
357 |
+
|
358 |
+
$installer->endSetup();
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/sql/strakertranslations_easytranslationplatform_setup/upgrade-1.3.0-1.3.1.php
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: stevenyang
|
5 |
+
* Date: 18/09/15
|
6 |
+
* Time: 9:46 AM
|
7 |
+
*/
|
8 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
9 |
+
$installer = $this;
|
10 |
+
$connection = $installer->getConnection();
|
11 |
+
|
12 |
+
$rawTableName = 'straker_job_cmspage';
|
13 |
+
$tableName = $installer->getTable($rawTableName);
|
14 |
+
if ($connection->isTableExists($tableName) == true) {
|
15 |
+
$table = $connection
|
16 |
+
->addIndex(
|
17 |
+
$tableName,
|
18 |
+
$installer->getIdxName($rawTableName, 'new_entity_id'),
|
19 |
+
'new_entity_id'
|
20 |
+
);
|
21 |
+
}
|
22 |
+
|
23 |
+
$rawTableName = 'straker_job_cmsblock';
|
24 |
+
$tableName = $installer->getTable($rawTableName);
|
25 |
+
if ($connection->isTableExists($tableName) == true) {
|
26 |
+
$table = $connection
|
27 |
+
->addIndex(
|
28 |
+
$tableName,
|
29 |
+
$installer->getIdxName($rawTableName, 'new_entity_id'),
|
30 |
+
'new_entity_id'
|
31 |
+
);
|
32 |
+
}
|
33 |
+
|
34 |
+
// $tables = [
|
35 |
+
// 'straker_actionlog',
|
36 |
+
// 'straker_cms_block_attributes',
|
37 |
+
// 'straker_cms_block_translate',
|
38 |
+
// 'straker_cms_page_attributes',
|
39 |
+
// 'straker_cms_page_translate',
|
40 |
+
// 'straker_job_cmsblock',
|
41 |
+
// 'straker_job_cmspage'
|
42 |
+
// ];
|
43 |
+
//
|
44 |
+
// $prefix = Mage::getConfig()->getTablePrefix();
|
45 |
+
//
|
46 |
+
//
|
47 |
+
// //format of returned foreign key
|
48 |
+
// //[
|
49 |
+
// // 'FK_NAME',
|
50 |
+
// // 'SCHEMA_NAME',
|
51 |
+
// // 'TABLE_NAME',
|
52 |
+
// // 'COLUMN_NAME',
|
53 |
+
// // 'REF_SHEMA_NAME',
|
54 |
+
// // 'REF_TABLE_NAME',
|
55 |
+
// // 'REF_COLUMN_NAME',
|
56 |
+
// // 'ON_DELETE',
|
57 |
+
// // 'ON_UPDATE'
|
58 |
+
// //];
|
59 |
+
//
|
60 |
+
// foreach ($tables as $table){
|
61 |
+
// $tableName = $installer->getTable($table);
|
62 |
+
// $fks = $connection->getForeignKeys($tableName);
|
63 |
+
// if(strcasecmp($table, 'straker_actionlog') === 0){
|
64 |
+
// $fk = reset($fks);
|
65 |
+
// $connection->dropForeignKey($tableName, $fk['FK_NAME']);
|
66 |
+
// $connection->addForeignKey(
|
67 |
+
// $installer->getFkName($table, 'user_id', 'admin_user', 'user_id'),
|
68 |
+
// $tableName,
|
69 |
+
// 'user_id',
|
70 |
+
// $installer->getTable('admin_user'),
|
71 |
+
// 'user_id',
|
72 |
+
// Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
73 |
+
// );
|
74 |
+
// }else{
|
75 |
+
// foreach ($fks as $fk){
|
76 |
+
//
|
77 |
+
// if(strcasecmp(substr($fk['REF_TABLE_NAME'], 0, strlen($prefix)), $prefix) !== 0){
|
78 |
+
// $connection->dropForeignKey($tableName, $fk['FK_NAME']);
|
79 |
+
// $connection->addForeignKey(
|
80 |
+
// $installer->getFkName($table, $fk['COLUMN_NAME'], $fk['REF_TABLE_NAME'], $fk['REF_COLUMN_NAME']),
|
81 |
+
// $tableName,
|
82 |
+
// $fk['COLUMN_NAME'],
|
83 |
+
// $installer->getTable($fk['REF_TABLE_NAME']),
|
84 |
+
// $fk['REF_COLUMN_NAME'],
|
85 |
+
// Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
86 |
+
// );
|
87 |
+
// }
|
88 |
+
// }
|
89 |
+
// }
|
90 |
+
//
|
91 |
+
// }
|
app/code/community/StrakerTranslations/EasyTranslationPlatform/sql/strakertranslations_easytranslationplatform_setup/upgrade-1.3.3-1.3.4.php
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/** @var $installer Mage_Eav_Model_Entity_Setup */
|
4 |
+
$installer = $this;
|
5 |
+
$connection = $installer->getConnection();
|
6 |
+
|
7 |
+
$tables = [
|
8 |
+
'straker_actionlog',
|
9 |
+
'straker_cms_block_attributes',
|
10 |
+
'straker_cms_block_translate',
|
11 |
+
'straker_cms_page_attributes',
|
12 |
+
'straker_cms_page_translate',
|
13 |
+
'straker_job_cmsblock',
|
14 |
+
'straker_job_cmspage'
|
15 |
+
];
|
16 |
+
|
17 |
+
$prefix = Mage::getConfig()->getTablePrefix();
|
18 |
+
|
19 |
+
|
20 |
+
//format of returned foreign key
|
21 |
+
//[
|
22 |
+
// 'FK_NAME',
|
23 |
+
// 'SCHEMA_NAME',
|
24 |
+
// 'TABLE_NAME',
|
25 |
+
// 'COLUMN_NAME',
|
26 |
+
// 'REF_SHEMA_NAME',
|
27 |
+
// 'REF_TABLE_NAME',
|
28 |
+
// 'REF_COLUMN_NAME',
|
29 |
+
// 'ON_DELETE',
|
30 |
+
// 'ON_UPDATE'
|
31 |
+
//];
|
32 |
+
|
33 |
+
if(strcasecmp($prefix, '') !== 0){
|
34 |
+
foreach ($tables as $table){
|
35 |
+
$tableName = $installer->getTable($table);
|
36 |
+
$fks = $connection->getForeignKeys($tableName);
|
37 |
+
if(strcasecmp($table, 'straker_actionlog') === 0){
|
38 |
+
$fk = reset($fks);
|
39 |
+
$connection->dropForeignKey($tableName, $fk['FK_NAME']);
|
40 |
+
$connection->addForeignKey(
|
41 |
+
$installer->getFkName($table, 'user_id', 'admin_user', 'user_id'),
|
42 |
+
$tableName,
|
43 |
+
'user_id',
|
44 |
+
$installer->getTable('admin_user'),
|
45 |
+
'user_id',
|
46 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
47 |
+
);
|
48 |
+
}else{
|
49 |
+
foreach ($fks as $fk){
|
50 |
+
|
51 |
+
if(strcasecmp(substr($fk['REF_TABLE_NAME'], 0, strlen($prefix)), $prefix) !== 0){
|
52 |
+
$connection->dropForeignKey($tableName, $fk['FK_NAME']);
|
53 |
+
$connection->addForeignKey(
|
54 |
+
$installer->getFkName($table, $fk['COLUMN_NAME'], $fk['REF_TABLE_NAME'], $fk['REF_COLUMN_NAME']),
|
55 |
+
$tableName,
|
56 |
+
$fk['COLUMN_NAME'],
|
57 |
+
$installer->getTable($fk['REF_TABLE_NAME']),
|
58 |
+
$fk['REF_COLUMN_NAME'],
|
59 |
+
Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE
|
60 |
+
);
|
61 |
+
}
|
62 |
+
}
|
63 |
+
}
|
64 |
+
}
|
65 |
+
}
|
66 |
+
/**
|
67 |
+
* Add new field to 'cataloginventory/stock_item'
|
68 |
+
*/
|
69 |
+
$installer->getConnection()
|
70 |
+
->addColumn(
|
71 |
+
$installer->getTable('straker_job'),
|
72 |
+
'is_test_job',
|
73 |
+
[
|
74 |
+
'type' => Varien_Db_Ddl_Table::TYPE_SMALLINT,
|
75 |
+
'length' => 1,
|
76 |
+
'comment' => 'Is Test Job',
|
77 |
+
'nullable' => false,
|
78 |
+
'default' => 0
|
79 |
+
]
|
80 |
+
);
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>straker-translations-easy-translation-platform</name>
|
4 |
-
<version>1.3.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Multilingual eCommerce extensions from the award-winning global translation company.</summary>
|
10 |
<description>Total automation of the translation process, simple installation and setup, quality human translation at cost-effective rates, scalable to more than 80 languages and 1000s of projects and powerful dashboard reporting.</description>
|
11 |
-
<notes>
|
12 |
<authors><author><name>Chris</name><user>Straker_support</user><email>extensions@strakertranslations.com</email></author></authors>
|
13 |
-
<date>2017-02-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="straker"><dir name="layout"><file name="straker.xml" hash="52ec2d65c1ac817a5f1603e916037d15"/></dir><dir name="template"><dir name="cms"><dir name="form"><file name="container.phtml" hash="9069e9f2e13f3f0c1f175920c295ee65"/></dir></dir><dir name="straker"><dir name="job"><dir name="attribute"><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="attribute.phtml" hash="e908bcbf0ad1435a35d6009f599c4f77"/><dir name="category"><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="category.phtml" hash="e908bcbf0ad1435a35d6009f599c4f77"/><dir name="cms"><dir name="block"><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="block.phtml" hash="e908bcbf0ad1435a35d6009f599c4f77"/><dir name="page"><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="page.phtml" hash="e908bcbf0ad1435a35d6009f599c4f77"/></dir><dir name="product"><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="product.phtml" hash="e908bcbf0ad1435a35d6009f599c4f77"/></dir><file name="job.phtml" hash="63c7a5b66b969635ee9996638878d63c"/><dir name="new"><dir name="attribute"><file name="confirm.phtml" hash="609ab700b5386b7d9549fb74f7e9025f"/><file name="massaction.phtml" hash="9dcf11014c7a598128a64c048e0108cf"/></dir><file name="attribute.phtml" hash="9f327fe0551b9d39e455b361d662ce08"/><file name="attributes.phtml" hash="a2b5136923f2afad369185077a3c4c53"/><dir name="category"><file name="attributes.phtml" hash="c92f98e8397ae9143c17c87e2e468758"/><dir name="confirm"><file name="grid.phtml" hash="8336aad4f7275992704b1b7ddaccac3e"/></dir><file name="confirm.phtml" hash="8e10afdfc326dc5e16f8d40125bfeaf8"/><file name="tree.phtml" hash="4599d5840d9bdf21cf5c057c6112dfcc"/></dir><dir name="cms"><dir name="block"><file name="attributes.phtml" hash="b2767598f08b2159c952c446f306e717"/><file name="confirm.phtml" hash="a7369555063de98c418c6cdf64485b6c"/><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="block.phtml" hash="6ad391571d617ca4f262d3bc15a41d7c"/><dir name="page"><file name="attributes.phtml" hash="288ef5992432d95493f919372af419bb"/><file name="confirm.phtml" hash="329c1f0943eda97164bda08e712a929c"/><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="page.phtml" hash="9e5e384888f81b5933ea2deb8dd9e0e8"/></dir><file name="confirm.phtml" hash="72552d8f56335eb644a4c0ffe314f12b"/><dir name="products"><file name="attributes.phtml" hash="fdfeb163ffb82ae983b4872fe59d2b77"/><file name="confirm.phtml" hash="f00acbdd4f83694b390c29346f6f0f79"/><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="products.phtml" hash="2930c175307b3178a7b8a6205981cdf2"/><file name="register.phtml" hash="13da4e89dafcdf0508343905121a6ed3"/><file name="selectstore.phtml" hash="59b46141938afec500ce3acf36da5427"/><file name="setupstore.phtml" hash="c3dab5a53f6007ac9608721bd75761bf"/><file name="type.phtml" hash="ab8bd7f6b5945af2e1dd0a9b19f0bfee"/></dir><dir name="system"><dir name="config"><file name="button.phtml" hash="9725dd1eea9e0a5c6ff9a34a31d5e433"/><file name="store.phtml" hash="accefd80ff19bf7c917c923b2aed961c"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="straker"><dir name="css"><file name="straker.css" hash="7de7c21b46326f421fcbb6363ab9e955"/><file name="straker.less" hash="5455064a2c31680a823d39bdc24997b0"/></dir><dir name="images"><dir name="default"><file name="bottom_left.gif" hash="fb99ffa815a8648f95f42698fe5dfaa1"/><file name="bottom_mid.gif" hash="49b9ca7025562ea7f070a9111282364b"/><file name="bottom_right.gif" hash="e46768f632765cd86c5fe5d0166dcf2c"/><file name="bottom_right_resize.gif" hash="1b35a4ec3b734dfe37e31ba87bcc7d99"/><file name="center_left.gif" hash="bd567580b4ee16a7a2734057cfbbe219"/><file name="center_right.gif" hash="eef184d5d89d1710313581a2ccf408e8"/><file name="clear.gif" hash="7af1206eeb0e7834a75e69d70676060d"/><file name="close.gif" hash="8a08f243c37a8e25a88d4ac135b2f07d"/><file name="inspect.gif" hash="aa2a0961067aad5c54b8634919af863b"/><file name="maximize.gif" hash="e73cd71c4979ebeadeb9e27d40a9e8fb"/><file name="minimize.gif" hash="2d2f4b1bd0506f342425f80ab76c49a3"/><file name="overlay.png" hash="536d40e87cda0c7ae7b11f1721aa52d0"/><file name="resize.gif" hash="320f534b5d444b39701e0b679529e779"/><file name="sizer.gif" hash="1b35a4ec3b734dfe37e31ba87bcc7d99"/><file name="top_left.gif" hash="9c5e5920bfc189a45cc618099af93aa8"/><file name="top_mid.gif" hash="a12ff2b944025ad2d127d033dae5e9e1"/><file name="top_right.gif" hash="0cf1ec5b93f8ac8fcce0e2f72cf7f45e"/></dir><file name="magento-banner.jpg" hash="b3105fd2dd00004ab903db4fbb81b61e"/><file name="refresh_32.png" hash="96e793bcbcc2dc48768b8e124beea378"/><file name="straker-translations-logo.png" hash="7cb5e29f562420142f918147d95ed232"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="StrakerTranslations_EasyTranslationPlatform.xml" hash="eb61fdaac7559a75e39bc01206165d0c"/></dir></target><target name="mage"><dir name="js"><dir name="straker"><file name="translations.js" hash="0168be67b66e071d1e8f833a959d95b7"/></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.1.0</min><max>7.1.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>straker-translations-easy-translation-platform</name>
|
4 |
+
<version>1.3.6</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Multilingual eCommerce extensions from the award-winning global translation company.</summary>
|
10 |
<description>Total automation of the translation process, simple installation and setup, quality human translation at cost-effective rates, scalable to more than 80 languages and 1000s of projects and powerful dashboard reporting.</description>
|
11 |
+
<notes>Bug fix when applying attributes translations</notes>
|
12 |
<authors><author><name>Chris</name><user>Straker_support</user><email>extensions@strakertranslations.com</email></author></authors>
|
13 |
+
<date>2017-02-27</date>
|
14 |
+
<time>03:43:16</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="StrakerTranslations"><dir name="EasyTranslationPlatform"><dir name="Block"><dir name="Adminhtml"><dir name="Cms"><dir name="Block"><file name="Grid.php" hash="f3f619834386cc32c7b0d938d85b1b94"/></dir><dir name="Page"><file name="Grid.php" hash="b24310c42254a22bc94fa926f93735fd"/></dir></dir><dir name="Job"><dir name="Attribute"><file name="Grid.php" hash="4eae0bb7355b35a7e7b695f6add78fae"/></dir><file name="Attribute.php" hash="c355f64a030766afcf646b411035f85f"/><dir name="Category"><file name="Grid.php" hash="1052d1e5494533c80a89a5e74041f72d"/></dir><file name="Category.php" hash="f2c9c52e51b2112f32065beee4c3cafe"/><dir name="Cms"><dir name="Block"><file name="Grid.php" hash="64170c9e8cf55c3cfd5a8c9717fe665a"/></dir><file name="Block.php" hash="e5ab4001b92c2bccc442ae4cfb59f047"/><dir name="Page"><file name="Grid.php" hash="6a8406b8bf46d1e4a802b182cef19603"/></dir><file name="Page.php" hash="b7c14cf9b9892977d4c945d7d4b5e4bd"/></dir><file name="Grid.php" hash="c52dbc25e0c5c0f07f111e8dcc0f301b"/><dir name="Product"><file name="Grid.php" hash="5fd9795e42b12b97cb217fbad0e529f8"/></dir><file name="Product.php" hash="85f95b9ffd2a3f80fb62ad37b3cf11b5"/></dir><file name="Job.php" hash="bf5ad4cd596a3a93a54447ee112c0a23"/><dir name="New"><dir name="Attribute"><dir name="Confirm"><file name="Grid.php" hash="5ab113bb0a3e42ceef939b1b52c36876"/></dir><file name="Confirm.php" hash="d7ed18d35d0df6b899b402beb0800caa"/><file name="Grid.php" hash="7fd33f4b1c1b9854dd2592e2171db618"/></dir><file name="Attribute.php" hash="31f61557f7c69d8b90521e60bbb79898"/><dir name="Category"><file name="Attribute.php" hash="b6698a36ee449853edff1815fca6a56f"/><dir name="Confirm"><file name="Grid.php" hash="64fd873d16622c13581ae398eb07bbbb"/></dir><file name="Confirm.php" hash="b710371dceb26866857a62f9d19425e7"/><file name="Tree.php" hash="b405b4bf4969812e13d63d752cd89c23"/></dir><dir name="Cms"><dir name="Block"><file name="Attribute.php" hash="698021304ad1346b6f8476fd629c8eed"/><dir name="Confirm"><file name="Grid.php" hash="dcf6c9a7a3a844963076b5140370507c"/></dir><file name="Confirm.php" hash="d38a9be9238e8eff3c322529e066b2ae"/><file name="Grid.php" hash="25cd4beda99cf997a108db78d6af2b32"/></dir><file name="Block.php" hash="771df45fe8fa9d24b7a920f485cc67a4"/><dir name="Page"><file name="Attribute.php" hash="3643f4821171d2efb08f478db03b2eaa"/><dir name="Confirm"><file name="Grid.php" hash="5c77ef51a041fc61422efe3467e5be75"/></dir><file name="Confirm.php" hash="ca21f36fe293b10f5a7f0be7d4acd437"/><file name="Grid.php" hash="0916a315b664c02c94cebfa79af4a0a0"/></dir><file name="Page.php" hash="d4f32301e714f1e6692ace8ed40ec5c4"/></dir><dir name="Confirm"><file name="Grid.php" hash="49a048fe7340150dc387a30355951385"/></dir><file name="Confirm.php" hash="a903a2f53c3b44fb8c72dc70716ff0d3"/><dir name="Products"><file name="Attribute.php" hash="f9b11618404c31e7ac91622a0188479d"/><dir name="Confirm"><file name="Grid.php" hash="e35a967bf2e3d9882889a67d7de26e09"/></dir><file name="Confirm.php" hash="d4dddb499ff29d646fcd48246666126a"/><file name="Grid.php" hash="5c716c61d8b23d253b37f4755d4ea231"/></dir><file name="Products.php" hash="cd0c2de765d91c4c7a82cc74bb1797c9"/><file name="Register.php" hash="7f43aee445980708a6cb8510eec21e78"/><file name="Selectstore.php" hash="42553d67a4e14ca8f754ea096ddf9cf6"/><file name="Setupstore.php" hash="bc1ca941654f47f763d0e7605fc7b050"/><file name="Type.php" hash="6786a8663d019a616dfcd229f609b0cf"/></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Backupbutton.php" hash="8bfae419ddceed0553db1f5dc5322356"/><file name="Button.php" hash="eb5d2544ba93cbcd09e534dc5b81bbc1"/><file name="Restorebutton.php" hash="e98058e6769f5308fa9f48fa19a22704"/><file name="Store.php" hash="5b98d4711b04acbb60d1b7c17405a4a6"/></dir></dir></dir><dir name="Template"><dir name="Grid"><dir name="Renderer"><file name="Action.php" hash="47a1988c0136fa892856d7390af1d6bd"/><file name="AttributeOriginalLabel.php" hash="895fdf18d8993d3268d95541cca1a7a3"/><file name="AttributeOriginalOption.php" hash="3cbe41544c9a32a5742950392973a533"/><file name="AttributeTranslateLabel.php" hash="eef210480eea84f5fd69ded360697acf"/><file name="AttributeTranslateOption.php" hash="2393ee81a57d67de08d38c5e81ea9403"/><file name="Backend.php" hash="6ca085c9a5c50e635f8f4aa41d3314e1"/><file name="CmsOriginTitle.php" hash="e66578d499b77b65226ec3be9e727c56"/><file name="CmsVersion.php" hash="d396904cc2b8637e87c3332eff877436"/><file name="ConfirmTranslateLabel.php" hash="09fdb0146ab6f9fad36bff50042d2587"/><file name="ConfirmTranslateOptions.php" hash="90ba018bb7eef8d6ac3006b058d66197"/><file name="Dispute.php" hash="3bae4a4bbf43890a53a8c2698315430e"/><file name="Frontend.php" hash="f1a0c9a0b98e3e16ec28a46c11f3b71f"/><file name="Path.php" hash="5d9e268bde77a5e1d6d435a48d9f60b7"/><file name="Quote.php" hash="728f3e53af9619760a3921993a823ca6"/><file name="Refresh.php" hash="28db5556c4dad64f4d3aa808758673dd"/><file name="Selected.php" hash="88f58ed6edb419d1701a6f6a4955d881"/><file name="Status.php" hash="fd88108278d137995b6bbd2b9747a179"/><file name="StrakerTranslated.php" hash="8f6d3a963627f02fcd092c4103843c61"/><file name="TranslateOptions.php" hash="00f1c42c2205f76db4322fa0dbd686f6"/><file name="Translated.php" hash="cda1f5c402ed086974b76ee427c2a23a"/><file name="Update.php" hash="43a114983b2c00af3432e664512b1704"/><file name="Version.php" hash="908c1697bd48848a2ebf00cd38aa8dc1"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="a629e0f5ca179fa35dc1347b867e8e4d"/></dir><dir name="Model"><file name="Actionlog.php" hash="bd8a61e14712e32937e0622376b07ae7"/><file name="Api.php" hash="6b38c84f487d57023a243194e6ccfe18"/><dir name="Attribute"><file name="Translate.php" hash="03268891643539d670676a40e879e560"/></dir><dir name="Category"><file name="Attributes.php" hash="31639770ebe8f2aa4b320d686786f716"/><file name="Translate.php" hash="63888c2d229d1cc860b2d3555470f597"/></dir><dir name="Cms"><dir name="Block"><file name="Attributes.php" hash="1df167ceeea902db512b297d601336b8"/><file name="Translate.php" hash="239afe3bb57efe43687f7fd4abaabe11"/></dir><dir name="Page"><file name="Attributes.php" hash="f9aa8f988a06b442d44c5e1e3c044b0c"/><file name="Translate.php" hash="ada614e5395bea4a02694e38a9b4d761"/></dir></dir><dir name="Job"><file name="Attribute.php" hash="6bc9221934346093ec6054704625808e"/><file name="Category.php" hash="37079e7131a4d10a9577afb499c6d7b6"/><dir name="Cms"><file name="Block.php" hash="2263b8165de77cda0c368a6b127e5edb"/><file name="Page.php" hash="54cf2ffb4943b3bcffe28a5fc60a0d00"/></dir><file name="Product.php" hash="9f02ce34f909df6dd26c3414356ad565"/><file name="Status.php" hash="64c766deaf33bd0460c739f04544f8db"/><file name="Type.php" hash="c5010524e83e0c3c56595bcd72bba97d"/></dir><file name="Job.php" hash="7eee0cd64bca7140c60e6eff02bde2be"/><dir name="Product"><file name="Attributes.php" hash="f8539bb8a73a59017b811bea7d99835b"/><file name="Translate.php" hash="ebe6df5219d4ca3ee71290bf3e1de0da"/></dir><dir name="Resource"><dir name="Actionlog"><file name="Collection.php" hash="a60fb59aa09d55b5e5d4f41d58e20e6f"/></dir><file name="Actionlog.php" hash="5742408ecac5dce23b3492d118d6ca41"/><dir name="Attribute"><dir name="Translate"><file name="Collection.php" hash="dc15902d152cdc907123bbd847bc124a"/></dir><file name="Translate.php" hash="f619af9fb3bb71e346d89a314c1d0a2c"/></dir><dir name="Category"><dir name="Attributes"><file name="Collection.php" hash="d0d1bdb74c8b6d3ebcd00e986bbda5ac"/></dir><file name="Attributes.php" hash="438aefd7fd4768a18dea3835e592d020"/><dir name="Translate"><file name="Collection.php" hash="6f9b263579ba9c988dbf476a9a8d5254"/></dir><file name="Translate.php" hash="3493c3a5f4dff5278e61cf758b58f09e"/></dir><dir name="Cms"><dir name="Block"><dir name="Attributes"><file name="Collection.php" hash="877832a90560893e916e43b967e6dc34"/></dir><file name="Attributes.php" hash="09ff0c55a851e01cb84ea36d04f25991"/><dir name="Translate"><file name="Collection.php" hash="de7c22817b8216ba532469e22530fc9e"/></dir><file name="Translate.php" hash="a42c5543d64b231251c50623c06267e3"/></dir><dir name="Page"><dir name="Attributes"><file name="Collection.php" hash="e1316d1cd3595bbfb7733b2ac237796e"/></dir><file name="Attributes.php" hash="17aad05de17f6e1457ee41022acdce17"/><dir name="Translate"><file name="Collection.php" hash="6d3a9c65e8cab69179ac62d3cf4a86eb"/></dir><file name="Translate.php" hash="875bb57fe743508ff7fb46d7cb5031f9"/></dir></dir><dir name="Job"><dir name="Attribute"><file name="Collection.php" hash="e336ec26c414bdb050ae87d70487349a"/></dir><file name="Attribute.php" hash="6c096169a8867d54b37997312753a94e"/><dir name="Category"><file name="Collection.php" hash="6e29696c703503c821fb4fbeb04f7169"/></dir><file name="Category.php" hash="5cb332770a4600be8d82d5440a42a2a6"/><dir name="Cms"><dir name="Block"><file name="Collection.php" hash="6524c7d53db9e32d2802e571cc54a8ca"/></dir><file name="Block.php" hash="9de78cd2dad032b94b7a0fe32ca6b785"/><dir name="Page"><file name="Collection.php" hash="b36385630e4cd6fd25a233305bd8d359"/></dir><file name="Page.php" hash="0d449938e643605e500efc3f4c4f13ea"/></dir><file name="Collection.php" hash="26b821d388a969c048418254c702767d"/><dir name="Product"><file name="Collection.php" hash="0b333a2caf8977dbc9a8e71e58c54de6"/></dir><file name="Product.php" hash="8b0dfa9ce28bc4292021055f9253ea5d"/><dir name="Status"><file name="Collection.php" hash="84dd6c9d32fda84ea11102692b5359a9"/></dir><file name="Status.php" hash="5e29fbf619c9b1278273266fb2ce2afa"/><dir name="Type"><file name="Collection.php" hash="625b61447aee152376c19f36a347d5d8"/></dir><file name="Type.php" hash="36b8ec250e3bc2377c1fb755459fad95"/></dir><file name="Job.php" hash="22b19e144ede17aa8c57f817f3c84046"/><dir name="Product"><dir name="Attributes"><file name="Collection.php" hash="3f479577ce23ba9f264125439c1d1099"/></dir><file name="Attributes.php" hash="93c962dc76384771d9139574796c16b5"/><dir name="Translate"><file name="Collection.php" hash="4dc7e3a0a44edd6acea4b8cf45b40d05"/></dir><file name="Translate.php" hash="f88f7ea6f6e1dfdc55ef648ddea2ca38"/></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="SiteMode.php" hash="89a8260d88855f2caea230e3466c8f9a"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Straker"><file name="AttributeController.php" hash="699a547cfbddab454f057136df40c93a"/><file name="CategoryController.php" hash="0950833563bef549cc2426f63030f6db"/><dir name="Cms"><file name="BlockController.php" hash="2627bff77c3b5fafc0ad1102ce716445"/><file name="PageController.php" hash="e43d66294440afb15294217135334e80"/></dir><file name="JobController.php" hash="34c064012ad52f06ff65b4e61df2a7f2"/><file name="NewController.php" hash="c7288367fd7f7b2488d2e1746c5edfa5"/><file name="ProductController.php" hash="ae3b984d64ce4730b0f37084f8b1add6"/></dir></dir><file name="CallbackController.php" hash="c9abd6304f6f071940735a47ab658633"/></dir><dir name="data"><dir name="strakertranslations_easytranslationplatform_setup"><file name="data-install-1.2.0.php" hash="8f64e0b9eea4fe7b0d880cd354f59412"/><file name="data-upgrade-1.2.0-1.3.0.php" hash="5e01aabbd2c80e6c6d1c3e12126a4e6e"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="802ab54b889201efd9318ec11f220f18"/><file name="config.xml" hash="1eb53f4b3b451b24c87ccae37aa19511"/><file name="system.xml" hash="e047c334b01ea71b3108c02c1c5e7ae5"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><dir name="sql"><dir name="strakertranslations_easytranslationplatform_setup"><file name="install-1.2.0.php" hash="a93fd3369feb8cf12e1c69a8ae3bbe8b"/><file name="upgrade-1.2.0-1.3.0.php" hash="55e4e676d70e9ca6371b7b7ccd7a48e4"/><file name="upgrade-1.3.0-1.3.1.php" hash="37441781e0348f3761e677457e6b73b0"/><file name="upgrade-1.3.3-1.3.4.php" hash="5a7c214c97e3a8935feb0d7a1947c7eb"/></dir></dir><file name=".DS_Store" hash="68744ba828ac21d758275fd0631a6511"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="straker"><dir name="layout"><file name="straker.xml" hash="52ec2d65c1ac817a5f1603e916037d15"/></dir><dir name="template"><dir name="cms"><dir name="form"><file name="container.phtml" hash="9069e9f2e13f3f0c1f175920c295ee65"/></dir></dir><dir name="straker"><dir name="job"><dir name="attribute"><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="attribute.phtml" hash="e908bcbf0ad1435a35d6009f599c4f77"/><dir name="category"><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="category.phtml" hash="e908bcbf0ad1435a35d6009f599c4f77"/><dir name="cms"><dir name="block"><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="block.phtml" hash="e908bcbf0ad1435a35d6009f599c4f77"/><dir name="page"><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="page.phtml" hash="e908bcbf0ad1435a35d6009f599c4f77"/></dir><dir name="product"><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="product.phtml" hash="e908bcbf0ad1435a35d6009f599c4f77"/></dir><file name="job.phtml" hash="63c7a5b66b969635ee9996638878d63c"/><dir name="new"><dir name="attribute"><file name="confirm.phtml" hash="609ab700b5386b7d9549fb74f7e9025f"/><file name="massaction.phtml" hash="9dcf11014c7a598128a64c048e0108cf"/></dir><file name="attribute.phtml" hash="9f327fe0551b9d39e455b361d662ce08"/><file name="attributes.phtml" hash="a2b5136923f2afad369185077a3c4c53"/><dir name="category"><file name="attributes.phtml" hash="c92f98e8397ae9143c17c87e2e468758"/><dir name="confirm"><file name="grid.phtml" hash="8336aad4f7275992704b1b7ddaccac3e"/></dir><file name="confirm.phtml" hash="8e10afdfc326dc5e16f8d40125bfeaf8"/><file name="tree.phtml" hash="4599d5840d9bdf21cf5c057c6112dfcc"/></dir><dir name="cms"><dir name="block"><file name="attributes.phtml" hash="b2767598f08b2159c952c446f306e717"/><file name="confirm.phtml" hash="a7369555063de98c418c6cdf64485b6c"/><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="block.phtml" hash="6ad391571d617ca4f262d3bc15a41d7c"/><dir name="page"><file name="attributes.phtml" hash="288ef5992432d95493f919372af419bb"/><file name="confirm.phtml" hash="329c1f0943eda97164bda08e712a929c"/><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="page.phtml" hash="9e5e384888f81b5933ea2deb8dd9e0e8"/></dir><file name="confirm.phtml" hash="72552d8f56335eb644a4c0ffe314f12b"/><dir name="products"><file name="attributes.phtml" hash="fdfeb163ffb82ae983b4872fe59d2b77"/><file name="confirm.phtml" hash="f00acbdd4f83694b390c29346f6f0f79"/><file name="massaction.phtml" hash="1c3b4ce443f6e4086bcc362d43f75354"/></dir><file name="products.phtml" hash="2930c175307b3178a7b8a6205981cdf2"/><file name="register.phtml" hash="13da4e89dafcdf0508343905121a6ed3"/><file name="selectstore.phtml" hash="59b46141938afec500ce3acf36da5427"/><file name="setupstore.phtml" hash="c3dab5a53f6007ac9608721bd75761bf"/><file name="type.phtml" hash="ab8bd7f6b5945af2e1dd0a9b19f0bfee"/></dir><dir name="system"><dir name="config"><file name="button.phtml" hash="9725dd1eea9e0a5c6ff9a34a31d5e433"/><file name="store.phtml" hash="accefd80ff19bf7c917c923b2aed961c"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="straker"><dir name="css"><file name="straker.css" hash="7de7c21b46326f421fcbb6363ab9e955"/><file name="straker.less" hash="5455064a2c31680a823d39bdc24997b0"/></dir><dir name="images"><dir name="default"><file name="bottom_left.gif" hash="fb99ffa815a8648f95f42698fe5dfaa1"/><file name="bottom_mid.gif" hash="49b9ca7025562ea7f070a9111282364b"/><file name="bottom_right.gif" hash="e46768f632765cd86c5fe5d0166dcf2c"/><file name="bottom_right_resize.gif" hash="1b35a4ec3b734dfe37e31ba87bcc7d99"/><file name="center_left.gif" hash="bd567580b4ee16a7a2734057cfbbe219"/><file name="center_right.gif" hash="eef184d5d89d1710313581a2ccf408e8"/><file name="clear.gif" hash="7af1206eeb0e7834a75e69d70676060d"/><file name="close.gif" hash="8a08f243c37a8e25a88d4ac135b2f07d"/><file name="inspect.gif" hash="aa2a0961067aad5c54b8634919af863b"/><file name="maximize.gif" hash="e73cd71c4979ebeadeb9e27d40a9e8fb"/><file name="minimize.gif" hash="2d2f4b1bd0506f342425f80ab76c49a3"/><file name="overlay.png" hash="536d40e87cda0c7ae7b11f1721aa52d0"/><file name="resize.gif" hash="320f534b5d444b39701e0b679529e779"/><file name="sizer.gif" hash="1b35a4ec3b734dfe37e31ba87bcc7d99"/><file name="top_left.gif" hash="9c5e5920bfc189a45cc618099af93aa8"/><file name="top_mid.gif" hash="a12ff2b944025ad2d127d033dae5e9e1"/><file name="top_right.gif" hash="0cf1ec5b93f8ac8fcce0e2f72cf7f45e"/></dir><file name="magento-banner.jpg" hash="b3105fd2dd00004ab903db4fbb81b61e"/><file name="refresh_32.png" hash="96e793bcbcc2dc48768b8e124beea378"/><file name="straker-translations-logo.png" hash="7cb5e29f562420142f918147d95ed232"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="StrakerTranslations_EasyTranslationPlatform.xml" hash="eb61fdaac7559a75e39bc01206165d0c"/></dir></target><target name="mage"><dir name="js"><dir name="straker"><file name="translations.js" hash="0168be67b66e071d1e8f833a959d95b7"/></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.1.0</min><max>7.1.0</max></php></required></dependencies>
|
18 |
</package>
|