Version Notes
Initial Release
Download this release
Release Info
Developer | ModulesGarden |
Extension | Modulesgarden_Base |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Installedmodulesgarden.php +41 -0
- app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Installedmodulesgardenthemes.php +41 -0
- app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Installedothers.php +41 -0
- app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Installedratio.php +64 -0
- app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Modulesgarden.php +35 -0
- app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Store.php +43 -0
- app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Twitter.php +37 -0
- app/code/community/Modulesgarden/Base/Helper/Data.php +39 -0
- app/code/community/Modulesgarden/Base/Model/Adminnotification/Inbox.php +39 -0
- app/code/community/Modulesgarden/Base/Model/Extension.php +141 -0
- app/code/community/Modulesgarden/Base/Model/Extension/Client.php +220 -0
- app/code/community/Modulesgarden/Base/Model/Mage.php +161 -0
- app/code/community/Modulesgarden/Base/Model/Observer.php +112 -0
- app/code/community/Modulesgarden/Base/Model/Resource/Extension.php +164 -0
- app/code/community/Modulesgarden/Base/Model/System/Config/Source/Notificationevents.php +45 -0
- app/code/community/Modulesgarden/Base/etc/adminhtml.xml +25 -0
- app/code/community/Modulesgarden/Base/etc/config.xml +90 -0
- app/code/community/Modulesgarden/Base/etc/system.xml +95 -0
- app/design/adminhtml/default/default/layout/modulesgardenbase.xml +10 -0
- app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/installedmodulesgarden.phtml +73 -0
- app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/installedmodulesgardenthemes.phtml +91 -0
- app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/installedothers.phtml +57 -0
- app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/installedratio.phtml +73 -0
- app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/store.phtml +75 -0
- app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/twitter.phtml +55 -0
- app/design/adminhtml/default/default/template/modulesgardenbase/widget/form.phtml +35 -0
- app/design/adminhtml/default/default/template/modulesgardenbase/widget/form/container.phtml +49 -0
- app/design/adminhtml/default/default/template/modulesgardenbase/widget/grid/container.phtml +42 -0
- app/design/adminhtml/default/default/template/modulesgardenbase/widget/tabs.phtml +56 -0
- app/etc/modules/Modulesgarden_Base.xml +9 -0
- package.xml +18 -0
- skin/adminhtml/base/default/modulesgardenbase/css/modulesgarden.css +339 -0
- skin/adminhtml/base/default/modulesgardenbase/img/arrows.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/arrows_both.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/arrows_down.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/arrows_down_dr.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/arrows_right.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/arrows_right_dr.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/arrows_up.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/add_btn_icon.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/bkg_btn-close2.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/btn_add-image_icon.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/btn_add-widget_icon.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/btn_go.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/btn_save_icon.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/btn_show-hide_icon.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/cancel_btn_icon.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/entry_edit_head_arrow_down.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/entry_edit_head_arrow_down2.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/entry_edit_head_arrow_up.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/error-msg.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/error_msg_icon.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/icon_btn_add.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/module.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/more_arrow.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/reload.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/icons/save_btn_icon.gif +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/mgcommerce-logo.png +0 -0
- skin/adminhtml/base/default/modulesgardenbase/img/modulesgarden.png +0 -0
app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Installedmodulesgarden.php
ADDED
@@ -0,0 +1,41 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-10-30, 12:01:48)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Block_Adminhtml_System_Config_Form_Fieldset_Installedmodulesgarden extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface {
|
30 |
+
|
31 |
+
protected $_template = 'modulesgardenbase/system/config/form/fieldset/installedmodulesgarden.phtml';
|
32 |
+
|
33 |
+
public function render(Varien_Data_Form_Element_Abstract $element) {
|
34 |
+
return $this->toHtml();
|
35 |
+
}
|
36 |
+
|
37 |
+
public function getExtensions(){
|
38 |
+
return Mage::getResourceModel('modulesgardenbase/extension')->getModulesgardenCollection();
|
39 |
+
}
|
40 |
+
|
41 |
+
}
|
app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Installedmodulesgardenthemes.php
ADDED
@@ -0,0 +1,41 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-10-30, 12:01:48)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Block_Adminhtml_System_Config_Form_Fieldset_Installedmodulesgardenthemes extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface {
|
30 |
+
|
31 |
+
protected $_template = 'modulesgardenbase/system/config/form/fieldset/installedmodulesgardenthemes.phtml';
|
32 |
+
|
33 |
+
public function render(Varien_Data_Form_Element_Abstract $element) {
|
34 |
+
return $this->toHtml();
|
35 |
+
}
|
36 |
+
|
37 |
+
public function getExtensions(){
|
38 |
+
return Mage::getResourceModel('modulesgardenbase/extension')->getModulesgardenCollection();
|
39 |
+
}
|
40 |
+
|
41 |
+
}
|
app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Installedothers.php
ADDED
@@ -0,0 +1,41 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-10-31, 10:30:00)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
**********************************************************************/
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Block_Adminhtml_System_Config_Form_Fieldset_Installedothers extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface {
|
30 |
+
|
31 |
+
protected $_template = 'modulesgardenbase/system/config/form/fieldset/installedothers.phtml';
|
32 |
+
|
33 |
+
public function render(Varien_Data_Form_Element_Abstract $element) {
|
34 |
+
return $this->toHtml();
|
35 |
+
}
|
36 |
+
|
37 |
+
public function getExtensions(){
|
38 |
+
return Mage::getResourceModel('modulesgardenbase/extension')->getNonModulesgardenCollection();
|
39 |
+
}
|
40 |
+
|
41 |
+
}
|
app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Installedratio.php
ADDED
@@ -0,0 +1,64 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-10-31, 12:07:11)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
**********************************************************************/
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Block_Adminhtml_System_Config_Form_Fieldset_Installedratio extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface {
|
30 |
+
|
31 |
+
protected $_template = 'modulesgardenbase/system/config/form/fieldset/installedratio.phtml';
|
32 |
+
|
33 |
+
protected $_calculated;
|
34 |
+
|
35 |
+
public function _construct() {
|
36 |
+
parent::_construct();
|
37 |
+
|
38 |
+
$this->_calculated = Mage::getModel('modulesgardenbase/mage')->calculateCustomization();
|
39 |
+
}
|
40 |
+
|
41 |
+
public function render(Varien_Data_Form_Element_Abstract $element) {
|
42 |
+
return $this->toHtml();
|
43 |
+
}
|
44 |
+
|
45 |
+
public function getRatio() {
|
46 |
+
return $this->_calculated['ratio'];
|
47 |
+
}
|
48 |
+
|
49 |
+
public function getRatioLabel() {
|
50 |
+
$labels = array_reverse(Modulesgarden_Base_Model_Mage::$ratioLabels, true);
|
51 |
+
$ratio = $this->getRatio();
|
52 |
+
|
53 |
+
foreach($labels as $minRatio => $label) {
|
54 |
+
if($ratio >= $minRatio) {
|
55 |
+
return Mage::helper('modulesgardenbase')->__($label);
|
56 |
+
}
|
57 |
+
}
|
58 |
+
}
|
59 |
+
|
60 |
+
public function getDebugString() {
|
61 |
+
return print_r($this->_calculated, true);
|
62 |
+
}
|
63 |
+
|
64 |
+
}
|
app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Modulesgarden.php
ADDED
@@ -0,0 +1,35 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-11-13, 12:00:32)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
**********************************************************************/
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Block_Adminhtml_System_Config_Form_Fieldset_Modulesgarden extends Mage_Adminhtml_Block_System_Config_Form_Fieldset {
|
30 |
+
|
31 |
+
protected function _getFrontendClass($element){
|
32 |
+
return parent::_getFrontendClass($element) . ' modulesgarden_form_container';
|
33 |
+
}
|
34 |
+
|
35 |
+
}
|
app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Store.php
ADDED
@@ -0,0 +1,43 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-10-31, 13:02:39)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Block_Adminhtml_System_Config_Form_Fieldset_Store extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface {
|
30 |
+
|
31 |
+
protected $_template = 'modulesgardenbase/system/config/form/fieldset/store.phtml';
|
32 |
+
|
33 |
+
public function render(Varien_Data_Form_Element_Abstract $element) {
|
34 |
+
return $this->toHtml();
|
35 |
+
}
|
36 |
+
|
37 |
+
public function getExtensions() {
|
38 |
+
return Mage::getResourceModel('modulesgardenbase/extension')->getExtensionsObjectsFromModulesgardenCom(function($item) {
|
39 |
+
return $item->getPrice();
|
40 |
+
});
|
41 |
+
}
|
42 |
+
|
43 |
+
}
|
app/code/community/Modulesgarden/Base/Block/Adminhtml/System/Config/Form/Fieldset/Twitter.php
ADDED
@@ -0,0 +1,37 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-11-12, 14:00:46)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
**********************************************************************/
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Block_Adminhtml_System_Config_Form_Fieldset_Twitter extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface {
|
30 |
+
|
31 |
+
protected $_template = 'modulesgardenbase/system/config/form/fieldset/twitter.phtml';
|
32 |
+
|
33 |
+
public function render(Varien_Data_Form_Element_Abstract $element) {
|
34 |
+
return $this->toHtml();
|
35 |
+
}
|
36 |
+
|
37 |
+
}
|
app/code/community/Modulesgarden/Base/Helper/Data.php
ADDED
@@ -0,0 +1,39 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-11-03, 08:13:58)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
**********************************************************************/
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Helper_Data extends Mage_Core_Helper_Abstract {
|
30 |
+
|
31 |
+
public function arrayToBase64(array $array){
|
32 |
+
return base64_encode($this->arrayToString($array));
|
33 |
+
}
|
34 |
+
|
35 |
+
public function arrayToString(array $array){
|
36 |
+
return str_replace(array('Array',' '), array('',''), print_r($array, true));
|
37 |
+
}
|
38 |
+
|
39 |
+
}
|
app/code/community/Modulesgarden/Base/Model/Adminnotification/Inbox.php
ADDED
@@ -0,0 +1,39 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-11-12, 10:35:44)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
**********************************************************************/
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Model_Adminnotification_Inbox extends Mage_AdminNotification_Model_Inbox {
|
30 |
+
|
31 |
+
public static function exists($title){
|
32 |
+
$resource = Mage::getSingleton('core/resource');
|
33 |
+
$sql = "SELECT 1 FROM ".$resource->getTableName('adminnotification_inbox')." WHERE title = :title";
|
34 |
+
return (bool)$resource->getConnection('core_read')->fetchOne($sql, array(
|
35 |
+
'title' => $title
|
36 |
+
));
|
37 |
+
}
|
38 |
+
|
39 |
+
}
|
app/code/community/Modulesgarden/Base/Model/Extension.php
ADDED
@@ -0,0 +1,141 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-10-30, 14:01:42)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*
|
28 |
+
* @method string getName()
|
29 |
+
* @method string getActive()
|
30 |
+
* @method string getCodePool()
|
31 |
+
* @method string getDepends()
|
32 |
+
*/
|
33 |
+
class Modulesgarden_Base_Model_Extension extends Varien_Object {
|
34 |
+
|
35 |
+
protected $_versionFileApplied = false;
|
36 |
+
protected $_remoteDetailsApplied = false;
|
37 |
+
|
38 |
+
public function getWikiUrl() {
|
39 |
+
$this->_applyVersionFileDetails();
|
40 |
+
return $this->getData('wiki_url');
|
41 |
+
}
|
42 |
+
|
43 |
+
public function getVersion() {
|
44 |
+
$this->_applyVersionFileDetails();
|
45 |
+
return $this->getData('version');
|
46 |
+
}
|
47 |
+
|
48 |
+
public function getFriendlyName() {
|
49 |
+
$this->_applyVersionFileDetails();
|
50 |
+
return $this->getData('friendly_name') ? $this->getData('friendly_name') : $this->getData('name');
|
51 |
+
}
|
52 |
+
|
53 |
+
public function getLatestVersion() {
|
54 |
+
$this->_applyRemoteDetails();
|
55 |
+
return $this->getData('latest_version');
|
56 |
+
}
|
57 |
+
|
58 |
+
public function getIconUrl($default = '') {
|
59 |
+
$this->_applyRemoteDetails();
|
60 |
+
return $this->getData('icon_url') ? $this->getData('icon_url') : $default;
|
61 |
+
}
|
62 |
+
|
63 |
+
public function getPrice() {
|
64 |
+
$this->_applyRemoteDetails();
|
65 |
+
return $this->getData('price');
|
66 |
+
}
|
67 |
+
|
68 |
+
public function getDescription() {
|
69 |
+
$this->_applyRemoteDetails();
|
70 |
+
return $this->getData('description');
|
71 |
+
}
|
72 |
+
|
73 |
+
public function getChangelogUrl() {
|
74 |
+
$this->_applyRemoteDetails();
|
75 |
+
return $this->getData('changelog_url');
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @todo add API response field
|
80 |
+
* @return string
|
81 |
+
*/
|
82 |
+
public function getBuyUrl() {
|
83 |
+
return str_replace('changelog', 'pricing', $this->getChangelogUrl());
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* @todo add API response field
|
88 |
+
* @return string
|
89 |
+
*/
|
90 |
+
public function getFeaturesUrl() {
|
91 |
+
return str_replace('changelog', 'features', $this->getChangelogUrl());
|
92 |
+
}
|
93 |
+
|
94 |
+
public function isUpgardeAvailable() {
|
95 |
+
return $this->getVersion() && $this->getLatestVersion() && version_compare($this->getLatestVersion(), $this->getVersion()) === 1;
|
96 |
+
}
|
97 |
+
|
98 |
+
public function isModulesgarden() {
|
99 |
+
return strpos($this->getName(), 'Modulesgarden_') === 0;
|
100 |
+
}
|
101 |
+
|
102 |
+
public function isMage() {
|
103 |
+
return strpos($this->getName(), 'Mage_') === 0;
|
104 |
+
}
|
105 |
+
|
106 |
+
public function isModulesgardenTheme() {
|
107 |
+
return $this->isModulesgarden() AND strpos($this->getName(), 'Theme') !== false;
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Used on store, it relys on Friendly Name
|
112 |
+
*/
|
113 |
+
public function isAlreadyInstalled() {
|
114 |
+
$this->_applyVersionFileDetails();
|
115 |
+
$modulesgardenExtensionsInstalled = Mage::getResourceModel('modulesgardenbase/extension')->getModulesgardenCollection();
|
116 |
+
foreach ($modulesgardenExtensionsInstalled as $ext) {
|
117 |
+
if (trim(strtolower(htmlspecialchars_decode($ext->getFriendlyName()))) == trim(strtolower(htmlspecialchars_decode($this->getFriendlyName())))) {
|
118 |
+
return true;
|
119 |
+
}
|
120 |
+
}
|
121 |
+
return false;
|
122 |
+
}
|
123 |
+
|
124 |
+
protected function _applyRemoteDetails() {
|
125 |
+
if (!$this->_remoteDetailsApplied) {
|
126 |
+
$this->_applyVersionFileDetails();
|
127 |
+
Mage::getResourceModel('modulesgardenbase/extension')->applyRemoteDetails($this);
|
128 |
+
$this->_remoteDetailsApplied = true;
|
129 |
+
}
|
130 |
+
return $this;
|
131 |
+
}
|
132 |
+
|
133 |
+
protected function _applyVersionFileDetails() {
|
134 |
+
if (!$this->_versionFileApplied) {
|
135 |
+
Mage::getResourceModel('modulesgardenbase/extension')->applyVersionFileDetails($this);
|
136 |
+
$this->_versionFileApplied = true;
|
137 |
+
}
|
138 |
+
return $this;
|
139 |
+
}
|
140 |
+
|
141 |
+
}
|
app/code/community/Modulesgarden/Base/Model/Extension/Client.php
ADDED
@@ -0,0 +1,220 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-10-30, 14:39:18)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Mariusz Miodowski <mariusz@modulesgarden.com>
|
27 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
28 |
+
*/
|
29 |
+
class Modulesgarden_Base_Model_Extension_Client {
|
30 |
+
|
31 |
+
CONST MODULE_NAME = 'Modules Garden Widget For Magento';
|
32 |
+
CONST MODULE_KEY = 'fhKzDqtZ3NloER4kV0olIHRIqba8VDf8';
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Cache life time.
|
36 |
+
*/
|
37 |
+
protected $cache = array(
|
38 |
+
'getLatestModuleVersion' => 43200, /* 12 hours */
|
39 |
+
'registerModuleInstance' => 43200, /* 12 hours */
|
40 |
+
'getAvailableProducts' => 3600, /* 1 hour */
|
41 |
+
'getActivePromotions' => 3600, /* 1 hour */
|
42 |
+
);
|
43 |
+
//Server Location
|
44 |
+
protected $url = 'https://modulesgarden.com/manage/modules/addons/ModuleInformation/server.php';
|
45 |
+
//This name will be send to modulesgarden.com
|
46 |
+
protected $module = '';
|
47 |
+
//Module Name
|
48 |
+
protected $moduleName = '';
|
49 |
+
//Encryption Key
|
50 |
+
protected $accessHash = '';
|
51 |
+
//Error?
|
52 |
+
protected $error = '';
|
53 |
+
|
54 |
+
public function __construct($moduleName = '', $accessHash = '', $url = '') {
|
55 |
+
$this->module = $moduleName;
|
56 |
+
$this->moduleName = $moduleName ? strtolower(str_replace(' ', '', $moduleName)) : self::MODULE_NAME;
|
57 |
+
$this->accessHash = $accessHash ? trim($accessHash) : self::MODULE_KEY;
|
58 |
+
if ($url) {
|
59 |
+
$this->url = $url;
|
60 |
+
}
|
61 |
+
}
|
62 |
+
|
63 |
+
public function setModule($moduleName, $accessHash) {
|
64 |
+
$this->module = $moduleName;
|
65 |
+
$this->moduleName = strtolower(str_replace(' ', '', $moduleName));
|
66 |
+
$this->accessHash = trim($accessHash);
|
67 |
+
}
|
68 |
+
|
69 |
+
public function setURL($url) {
|
70 |
+
$this->url = $url;
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* @param type $currentVersion
|
75 |
+
*/
|
76 |
+
public function getLatestModuleVersion() {
|
77 |
+
$request = array(
|
78 |
+
'action' => 'getLatestModuleVersion',
|
79 |
+
);
|
80 |
+
|
81 |
+
return $this->send($request);
|
82 |
+
}
|
83 |
+
|
84 |
+
public function getActivePromotions() {
|
85 |
+
$request = array(
|
86 |
+
'action' => 'getActivePromotions'
|
87 |
+
);
|
88 |
+
|
89 |
+
return $this->send($request);
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Register new module instance
|
94 |
+
* @param type $moduleVersion
|
95 |
+
* @param type $serverIP
|
96 |
+
* @param type $serverName
|
97 |
+
* @return type
|
98 |
+
*/
|
99 |
+
public function registerModuleInstance($moduleVersion, $serverIP, $serverName) {
|
100 |
+
$request = array(
|
101 |
+
'action' => 'registerModuleInstance',
|
102 |
+
'data' => array
|
103 |
+
(
|
104 |
+
'moduleVersion' => $moduleVersion,
|
105 |
+
'serverIP' => $serverIP,
|
106 |
+
'serverName' => $serverName,
|
107 |
+
)
|
108 |
+
);
|
109 |
+
|
110 |
+
return $this->send($request);
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Get all available products
|
115 |
+
* @return type
|
116 |
+
*/
|
117 |
+
public function getAvailableProducts($platform = null) {
|
118 |
+
$requst = array(
|
119 |
+
'action' => 'getAvailableProducts',
|
120 |
+
'data' => array(
|
121 |
+
'platform' => $platform
|
122 |
+
)
|
123 |
+
);
|
124 |
+
|
125 |
+
return $this->send($requst);
|
126 |
+
}
|
127 |
+
|
128 |
+
private function send($data = array()) {
|
129 |
+
if (!$data) {
|
130 |
+
return false;
|
131 |
+
}
|
132 |
+
|
133 |
+
if (empty($data['action'])) {
|
134 |
+
return false;
|
135 |
+
}
|
136 |
+
|
137 |
+
//Add module name and access hash
|
138 |
+
$data['hash'] = $this->accessHash;
|
139 |
+
$data['module'] = $this->module;
|
140 |
+
|
141 |
+
//Are we have ane cache?
|
142 |
+
|
143 |
+
$json = $this->getFromCache($data);
|
144 |
+
|
145 |
+
if( ! empty($json) ) {
|
146 |
+
return $json;
|
147 |
+
}
|
148 |
+
|
149 |
+
//Encode data
|
150 |
+
$jsonData = json_encode($data);
|
151 |
+
|
152 |
+
//Prepare Curl
|
153 |
+
$ch = curl_init($this->url);
|
154 |
+
curl_setopt($ch, CURLOPT_HEADER, 0);
|
155 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
|
156 |
+
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
|
157 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
158 |
+
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
159 |
+
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
|
160 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
161 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
162 |
+
curl_setopt($ch, CURLOPT_POSTREDIR, 3);
|
163 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: text/xml'));
|
164 |
+
|
165 |
+
$ret = curl_exec($ch);
|
166 |
+
|
167 |
+
if (!$ret) {
|
168 |
+
$this->error = 'Did not receive any data. ' . curl_error($ch);
|
169 |
+
return false;
|
170 |
+
}
|
171 |
+
|
172 |
+
$json = json_decode($ret);
|
173 |
+
if (!$json) {
|
174 |
+
$this->error = 'Invalid Format';
|
175 |
+
return false;
|
176 |
+
}
|
177 |
+
|
178 |
+
if (!$json->status) {
|
179 |
+
$this->error = $json->message;
|
180 |
+
return false;
|
181 |
+
}
|
182 |
+
|
183 |
+
$this->saveCache($data, $json);
|
184 |
+
|
185 |
+
return $json;
|
186 |
+
}
|
187 |
+
|
188 |
+
public function getError() {
|
189 |
+
return $this->error;
|
190 |
+
}
|
191 |
+
|
192 |
+
protected function setError($error) {
|
193 |
+
$this->error = $error;
|
194 |
+
}
|
195 |
+
|
196 |
+
private function getCacheKeyByData($data) {
|
197 |
+
return $this->moduleName . '_' . serialize($data);
|
198 |
+
}
|
199 |
+
|
200 |
+
private function saveCache($data, $json) {
|
201 |
+
$key = $this->getCacheKeyByData($data);
|
202 |
+
$action = $data['action'];
|
203 |
+
|
204 |
+
if( isset($this->cache[$action]) ) {
|
205 |
+
Mage::app()->getCache()->save(urlencode(serialize($json)), $key, array(), $this->cache[$action]);
|
206 |
+
}
|
207 |
+
}
|
208 |
+
|
209 |
+
private function getFromCache($data) {
|
210 |
+
$key = $this->getCacheKeyByData($data);
|
211 |
+
$object = Mage::app()->getCache()->load($key);
|
212 |
+
|
213 |
+
if($object !== false) {
|
214 |
+
return unserialize(urldecode($object));
|
215 |
+
}
|
216 |
+
|
217 |
+
return null;
|
218 |
+
}
|
219 |
+
|
220 |
+
}
|
app/code/community/Modulesgarden/Base/Model/Mage.php
ADDED
@@ -0,0 +1,161 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-11-03, 10:36:28)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
**********************************************************************/
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Model_Mage {
|
30 |
+
|
31 |
+
CONST RATIO_CUSTOM_EXTENSION = 10; // Custom Extension (+X for custom customization)
|
32 |
+
CONST RATIO_CORE_EDITED = 300; // Core Files Edited (app/code/core/Mage)
|
33 |
+
CONST RATIO_CORE_INDEX_EDITED = 150; // Core Files Edited (index.php)
|
34 |
+
CONST RATIO_CORE_OLD_VERSION = 50; // < 1.7.0.2
|
35 |
+
CONST RATIO_MAIN_MODULE_OVERWRITTEN = 100; // Main Model Overwritten (Order, Quote, Customer, Product)
|
36 |
+
CONST RATIO_ANY_MODEL_OVERWRITTEN = 10;
|
37 |
+
CONST RATIO_ANY_BLOCK_OVERWRITTEN = 5;
|
38 |
+
|
39 |
+
// md5sum of app/code/core/Mage - find app/code/core/Mage -type f | xargs cat | md5sum
|
40 |
+
protected static $_MD5SUMS_CORE = array(
|
41 |
+
'1.9.1.0 CE' => '77e90f4bf4dc8391b91585fe8a742bbc',
|
42 |
+
'1.9.0.1 CE' => '1176ba35905e7ea5ac01d3ab5a10748e',
|
43 |
+
'1.9.0.0 CE' => 'f90e40b9cf7b4977e7570029b50fdf52',
|
44 |
+
'1.8.1.0 CE' => 'd0147d3811847e091e04322a93ca780d',
|
45 |
+
'1.7.0.2 CE' => '23b6c42a764c3d05018b568693585cb4',
|
46 |
+
'1.6.2.0 CE' => '42b05c40dccfdbe492f559d28142dfb1',
|
47 |
+
);
|
48 |
+
|
49 |
+
// md5sum of /index.php
|
50 |
+
protected static $_MD5SUMS_CORE_INDEX = array(
|
51 |
+
'1.9.1.0 CE' => '07f30524368e5f15ed8a2200525f694f',
|
52 |
+
'1.9.0.1 CE' => '73d62a354e51517afd247faa731f8ad3',
|
53 |
+
'1.9.0.0 CE' => '73d62a354e51517afd247faa731f8ad3',
|
54 |
+
'1.8.1.0 CE' => '73d62a354e51517afd247faa731f8ad3',
|
55 |
+
'1.7.0.2 CE' => '73d62a354e51517afd247faa731f8ad3',
|
56 |
+
'1.6.2.0 CE' => '20b1633bd332a08e643afa4590ab8564',
|
57 |
+
);
|
58 |
+
|
59 |
+
/* Min ratio values for labels */
|
60 |
+
public static $ratioLabels = array(
|
61 |
+
0 => 'Clear Installation',
|
62 |
+
30 => 'Almost Clear Installation',
|
63 |
+
100 => 'Slightly Modified',
|
64 |
+
350 => 'Modified',
|
65 |
+
600 => 'Significantly Modified',
|
66 |
+
);
|
67 |
+
|
68 |
+
protected static $_calculation;
|
69 |
+
|
70 |
+
/**
|
71 |
+
* How much system is customized (non-standard)
|
72 |
+
*/
|
73 |
+
public function calculateCustomization(){
|
74 |
+
if (self::$_calculation){
|
75 |
+
return self::$_calculation;
|
76 |
+
}
|
77 |
+
|
78 |
+
$extensions = Mage::getResourceModel('modulesgardenbase/extension')->getNonDefaultCollection();
|
79 |
+
|
80 |
+
$customization = array(
|
81 |
+
'magento' => array(
|
82 |
+
'version' => Mage::getVersion() . ' ' . (Mage::helper('core')->isModuleEnabled('Enterprise_Enterprise') ? 'EE' : 'CE'),
|
83 |
+
'index' => 'UNKNOWN',
|
84 |
+
'core' => 'UNKNOWN',
|
85 |
+
),
|
86 |
+
'extensions' => array(),
|
87 |
+
'models' => array(),
|
88 |
+
'blocks' => array(),
|
89 |
+
'ratio' => $extensions->getSize() * self::RATIO_CUSTOM_EXTENSION
|
90 |
+
);
|
91 |
+
foreach ($extensions as $ext){
|
92 |
+
$customization['extensions'][] = $ext->getName() . ' ' . $ext->getVersion();
|
93 |
+
}
|
94 |
+
|
95 |
+
// === check models and blocks rewrites ===
|
96 |
+
$modelsRewrites = Mage::getConfig()->getNode()->xpath('//global/models//rewrite');
|
97 |
+
$blocksRewrites = Mage::getConfig()->getNode()->xpath('//global/blocks//rewrite');
|
98 |
+
|
99 |
+
foreach ($modelsRewrites as $extensionRewrite){
|
100 |
+
foreach ($extensionRewrite as $rewKey => $rewObject){
|
101 |
+
$customization['models'][(string)$rewKey] = (string)$rewObject;
|
102 |
+
$customization['ratio'] += self::RATIO_ANY_MODEL_OVERWRITTEN;
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
+
foreach ($blocksRewrites as $blockRewrite){
|
107 |
+
foreach ($blockRewrite as $rewKey => $rewObject){
|
108 |
+
$customization['blocks'][(string)$rewKey] = (string)$rewObject;
|
109 |
+
$customization['ratio'] += self::RATIO_ANY_BLOCK_OVERWRITTEN;
|
110 |
+
}
|
111 |
+
}
|
112 |
+
|
113 |
+
// === check main models ===
|
114 |
+
if (get_class(Mage::getModel('catalog/product')) != 'Mage_Catalog_Model_Product')
|
115 |
+
$customization['ratio'] += self::RATIO_MAIN_MODULE_OVERWRITTEN;
|
116 |
+
if (get_class(Mage::getModel('sales/order')) != 'Mage_Sales_Model_Order')
|
117 |
+
$customization['ratio'] += self::RATIO_MAIN_MODULE_OVERWRITTEN;
|
118 |
+
if (get_class(Mage::getModel('sales/quote')) != 'Mage_Sales_Model_Quote')
|
119 |
+
$customization['ratio'] += self::RATIO_MAIN_MODULE_OVERWRITTEN;
|
120 |
+
if (get_class(Mage::getModel('customer/customer')) != 'Mage_Customer_Model_Customer')
|
121 |
+
$customization['ratio'] += self::RATIO_MAIN_MODULE_OVERWRITTEN;
|
122 |
+
|
123 |
+
// === check whether core was edited ===
|
124 |
+
if (isset(self::$_MD5SUMS_CORE[$customization['magento']['version']])){
|
125 |
+
$md5sumCore = $this->_getMd5Sum(MAGENTO_ROOT.'/app/code/core/Mage');
|
126 |
+
if ($md5sumCore == self::$_MD5SUMS_CORE[$customization['magento']['version']]){
|
127 |
+
$customization['magento']['core'] = 'OK';
|
128 |
+
} else {
|
129 |
+
$customization['magento']['core'] = 'WRONG: ' . $md5sumCore;
|
130 |
+
$customization['ratio'] += self::RATIO_CORE_EDITED;
|
131 |
+
}
|
132 |
+
}
|
133 |
+
// === check whether index.php was edited ===
|
134 |
+
if (isset(self::$_MD5SUMS_CORE_INDEX[$customization['magento']['version']])){
|
135 |
+
$md5sumIndex = $this->_getMd5Sum(MAGENTO_ROOT.'/index.php');
|
136 |
+
if ($md5sumIndex == self::$_MD5SUMS_CORE_INDEX[$customization['magento']['version']]){
|
137 |
+
$customization['magento']['index'] = 'OK';
|
138 |
+
} else {
|
139 |
+
$customization['magento']['index'] = 'WRONG: ' . $md5sumIndex;
|
140 |
+
$customization['ratio'] += self::RATIO_CORE_INDEX_EDITED;
|
141 |
+
}
|
142 |
+
}
|
143 |
+
|
144 |
+
// === check whether magento version is old ===
|
145 |
+
if (!Mage::helper('core')->isModuleEnabled('Enterprise_Enterprise')){
|
146 |
+
if (version_compare(Mage::getVersion(), '1.7.0.2', '<')){
|
147 |
+
$customization['ratio'] += self::RATIO_CORE_OLD_VERSION;
|
148 |
+
}
|
149 |
+
}
|
150 |
+
// @todo checking EE version
|
151 |
+
|
152 |
+
self::$_calculation = $customization;
|
153 |
+
return self::$_calculation;
|
154 |
+
}
|
155 |
+
|
156 |
+
protected function _getMd5Sum($path){
|
157 |
+
$commandReturn = exec('find '.$path.' -type f | xargs cat | md5sum'); // | sort -u
|
158 |
+
return trim(str_replace(' -', '', $commandReturn));
|
159 |
+
}
|
160 |
+
|
161 |
+
}
|
app/code/community/Modulesgarden/Base/Model/Observer.php
ADDED
@@ -0,0 +1,112 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-10-30, 13:23:34)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
**********************************************************************/
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Modulesgarden_Base_Model_Observer {
|
30 |
+
|
31 |
+
protected $_mgSections = array(
|
32 |
+
'mgbase_installed_extensions' => 'Installed Extensions',
|
33 |
+
'mgbase_store' => 'Store'
|
34 |
+
);
|
35 |
+
|
36 |
+
public function adminhtml_block_html_before(Varien_Event_Observer $observer){
|
37 |
+
$block = $observer->getEvent()->getBlock();
|
38 |
+
$section = Mage::app()->getRequest()->getParam('section');
|
39 |
+
if ($block instanceof Mage_Adminhtml_Block_System_Config_Edit && in_array($section, array_keys($this->_mgSections))){
|
40 |
+
if ($section == 'mgbase_installed_extensions')
|
41 |
+
$block->unsetChild('save_button');
|
42 |
+
$block->setTitle('<img src="'.Mage::getBaseUrl('skin').'/adminhtml/base/default/modulesgardenbase/img/mgcommerce-logo.png" style="vertical-align: bottom;" /> ' . $block->__($this->_mgSections[$section]));
|
43 |
+
$block->setHeaderCss('modulesgardenbase_config_header');
|
44 |
+
}
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* By Cron
|
49 |
+
*/
|
50 |
+
public function fetchNotifications(){
|
51 |
+
|
52 |
+
$events = explode(',', Mage::getStoreConfig('mgbase_store/notifications/events'));
|
53 |
+
$client = new Modulesgarden_Base_Model_Extension_Client();
|
54 |
+
|
55 |
+
$version = (string)Mage::getConfig()->getNode()->modules->Modulesgarden_Base->version;
|
56 |
+
$helper = Mage::helper('modulesgardenbase');
|
57 |
+
$resource = Mage::getResourceModel('modulesgardenbase/extension');
|
58 |
+
|
59 |
+
$client->registerModuleInstance($version, $_SERVER['SERVER_ADDR'], $_SERVER['SERVER_NAME']);
|
60 |
+
|
61 |
+
if (in_array(Modulesgarden_Base_Model_System_Config_Source_Notificationevents::UPGRADES, $events)){
|
62 |
+
foreach ($resource->getModulesgardenCollection() as $installedMgExtension){
|
63 |
+
if ($installedMgExtension->isUpgardeAvailable()){
|
64 |
+
$msgTitle = $helper->__('Upgarde Of "%s" Extension From ModulesGarden Is Available (%s)', $installedMgExtension->getFriendlyName(), $installedMgExtension->getLatestVersion() );
|
65 |
+
|
66 |
+
if (!Modulesgarden_Base_Model_Adminnotification_Inbox::exists($msgTitle)){
|
67 |
+
Mage::getModel('modulesgardenbase/adminnotification_inbox')->addMajor(
|
68 |
+
$msgTitle,
|
69 |
+
$helper->__('New version: %s. Download extension from modulesgarden.com and install it in your magento.', $installedMgExtension->getLatestVersion()),
|
70 |
+
$installedMgExtension->getChangelogUrl()
|
71 |
+
);
|
72 |
+
}
|
73 |
+
|
74 |
+
}
|
75 |
+
}
|
76 |
+
}
|
77 |
+
if (in_array(Modulesgarden_Base_Model_System_Config_Source_Notificationevents::RELEASES, $events)){
|
78 |
+
$extensionsFromStore = Mage::getResourceModel('modulesgardenbase/extension')->getExtensionsObjectsFromModulesgardenCom();
|
79 |
+
foreach ($extensionsFromStore as $extensionFromStore){
|
80 |
+
if ($extensionFromStore->getIsNew()){
|
81 |
+
$msgTitle = $helper->__('New Extension From ModulesGarden: %s', $extensionFromStore->getFriendlyName());
|
82 |
+
|
83 |
+
if (!Modulesgarden_Base_Model_Adminnotification_Inbox::exists($msgTitle)){
|
84 |
+
Mage::getModel('modulesgardenbase/adminnotification_inbox')->addMajor(
|
85 |
+
$msgTitle,
|
86 |
+
$helper->__('Download extension from modulesgarden.com and install it in your magento.'),
|
87 |
+
$extensionFromStore->getChangelogUrl()
|
88 |
+
);
|
89 |
+
}
|
90 |
+
|
91 |
+
}
|
92 |
+
}
|
93 |
+
}
|
94 |
+
if (in_array(Modulesgarden_Base_Model_System_Config_Source_Notificationevents::PROMOTIONS, $events)){
|
95 |
+
$promotions = $client->getActivePromotions();
|
96 |
+
if ($promotions && isset($promotions->data->promotions)){
|
97 |
+
foreach ($promotions->data->promotions as $promo){
|
98 |
+
$msgTitle = $helper->__('New Promotion From ModulesGarden: %s', $promo->notes);
|
99 |
+
|
100 |
+
if (!Modulesgarden_Base_Model_Adminnotification_Inbox::exists($msgTitle)){
|
101 |
+
Mage::getModel('modulesgardenbase/adminnotification_inbox')->addMajor(
|
102 |
+
$msgTitle,
|
103 |
+
$helper->__('Promotion Code: %s', $promo->code),
|
104 |
+
'http://www.modulesgarden.com'
|
105 |
+
);
|
106 |
+
}
|
107 |
+
}
|
108 |
+
}
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
}
|
app/code/community/Modulesgarden/Base/Model/Resource/Extension.php
ADDED
@@ -0,0 +1,164 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-10-31, 08:37:18)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
class Modulesgarden_Base_Model_Resource_Extension {
|
29 |
+
|
30 |
+
protected static $_remoteResponse;
|
31 |
+
|
32 |
+
public function getModulesgardenCollection() {
|
33 |
+
return $this->_getCollection(true);
|
34 |
+
}
|
35 |
+
|
36 |
+
public function getNonModulesgardenCollection($skipMage = true) {
|
37 |
+
return $this->_getCollection(null, true, $skipMage);
|
38 |
+
}
|
39 |
+
|
40 |
+
public function getNonDefaultCollection() {
|
41 |
+
return $this->_getCollection(false, false, true);
|
42 |
+
}
|
43 |
+
|
44 |
+
protected function _getCollection($modulesgardenOnly = null, $nonModulesgardenOnly = null, $skipMage = false) {
|
45 |
+
$collection = new Varien_Data_Collection();
|
46 |
+
$modulesArray = (array) Mage::getConfig()->getNode('modules')->children();
|
47 |
+
foreach ($modulesArray as $module => $moduleDetails) {
|
48 |
+
$ext = Mage::getModel('modulesgardenbase/extension');
|
49 |
+
$ext->setName($module);
|
50 |
+
$ext->setActive((string) $moduleDetails->active == 'true');
|
51 |
+
$ext->setCodePool((string) $moduleDetails->codePool);
|
52 |
+
$ext->setVersion(isset($moduleDetails->version) ? (string) $moduleDetails->version : $this->_getModuleVersionFromItsXml($ext) );
|
53 |
+
|
54 |
+
if (isset($moduleDetails->depends)) {
|
55 |
+
$depends = array();
|
56 |
+
foreach ($moduleDetails->depends as $dependModuleName => $dependModuleDetails) {
|
57 |
+
$depends[] = $dependModuleName;
|
58 |
+
}
|
59 |
+
$ext->setDepends($depends);
|
60 |
+
}
|
61 |
+
|
62 |
+
if ($modulesgardenOnly === true && !$ext->isModulesgarden())
|
63 |
+
continue;
|
64 |
+
|
65 |
+
if ($nonModulesgardenOnly === true && $ext->isModulesgarden())
|
66 |
+
continue;
|
67 |
+
|
68 |
+
if ($skipMage === true && $ext->isMage())
|
69 |
+
continue;
|
70 |
+
|
71 |
+
$collection->addItem($ext);
|
72 |
+
}
|
73 |
+
|
74 |
+
return $collection;
|
75 |
+
}
|
76 |
+
|
77 |
+
protected function _getModuleVersionFromItsXml(Modulesgarden_Base_Model_Extension $ext) {
|
78 |
+
$configXmlPath = Mage::getModuleDir('', $ext->getName()) . DIRECTORY_SEPARATOR . 'etc' . DIRECTORY_SEPARATOR . 'config.xml';
|
79 |
+
if (file_exists($configXmlPath)) {
|
80 |
+
$fileConfig = new Mage_Core_Model_Config_Base();
|
81 |
+
$fileConfig->loadFile($configXmlPath);
|
82 |
+
return (string) $fileConfig->getNode('modules/' . $ext->getName() . '/version');
|
83 |
+
}
|
84 |
+
return null;
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* @return array
|
89 |
+
*/
|
90 |
+
public function getExtensionsFromModulesgardenCom() {
|
91 |
+
if (self::$_remoteResponse !== null)
|
92 |
+
return self::$_remoteResponse;
|
93 |
+
|
94 |
+
$client = new Modulesgarden_Base_Model_Extension_Client();
|
95 |
+
|
96 |
+
$response = $client->getAvailableProducts('MAGENTO');
|
97 |
+
if (isset($response->status) && $response->status) {
|
98 |
+
self::$_remoteResponse = $response->data->modules;
|
99 |
+
return self::$_remoteResponse;
|
100 |
+
}
|
101 |
+
return self::$_remoteResponse = array();
|
102 |
+
}
|
103 |
+
|
104 |
+
public function getExtensionsObjectsFromModulesgardenCom($sortableCallback = null) {
|
105 |
+
$extToReturn = array();
|
106 |
+
$extensions = $this->getExtensionsFromModulesgardenCom();
|
107 |
+
foreach ($extensions as $remoteExt) {
|
108 |
+
$ext = Mage::getModel('modulesgardenbase/extension');
|
109 |
+
$ext->setFriendlyName($remoteExt->name);
|
110 |
+
$this->applyRemoteDetails($ext);
|
111 |
+
$extToReturn[] = $ext;
|
112 |
+
}
|
113 |
+
|
114 |
+
if (is_callable($sortableCallback)) {
|
115 |
+
$collection = array();
|
116 |
+
|
117 |
+
foreach ($extToReturn as $key => $item) {
|
118 |
+
$collection[$key] = $sortableCallback($item);
|
119 |
+
}
|
120 |
+
|
121 |
+
asort($collection);
|
122 |
+
|
123 |
+
foreach (array_keys($collection) as $key) {
|
124 |
+
$collection[$key] = $extToReturn[$key];
|
125 |
+
}
|
126 |
+
|
127 |
+
return $collection;
|
128 |
+
}
|
129 |
+
|
130 |
+
return $extToReturn;
|
131 |
+
}
|
132 |
+
|
133 |
+
public function applyRemoteDetails(Modulesgarden_Base_Model_Extension $ext) {
|
134 |
+
$extensions = $this->getExtensionsFromModulesgardenCom();
|
135 |
+
|
136 |
+
foreach ($extensions as $remoteExt) {
|
137 |
+
if (trim(strtolower(htmlspecialchars_decode($ext->getFriendlyName()))) == trim(strtolower(htmlspecialchars_decode($remoteExt->name)))) {
|
138 |
+
$ext->setChangelogUrl(isset($remoteExt->site_url) ? $remoteExt->site_url : '');
|
139 |
+
$ext->setLatestVersion(isset($remoteExt->version) ? $remoteExt->version : '');
|
140 |
+
$ext->setIconUrl(isset($remoteExt->icon_url) ? $remoteExt->icon_url : '');
|
141 |
+
$ext->setPrice(isset($remoteExt->price) ? $remoteExt->price : '');
|
142 |
+
$ext->setDescription(isset($remoteExt->description) ? $remoteExt->description : '');
|
143 |
+
$ext->setIsPromotion(isset($remoteExt->is_promotion) && $remoteExt->is_promotion ? true : false);
|
144 |
+
$ext->setIsNew(isset($remoteExt->is_new) && $remoteExt->is_new ? true : false);
|
145 |
+
}
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
public function applyVersionFileDetails(Modulesgarden_Base_Model_Extension $ext) {
|
150 |
+
$modulePath = Mage::getModuleDir('', $ext->getName());
|
151 |
+
if (file_exists($modulePath . DIRECTORY_SEPARATOR . 'moduleVersion.php')) {
|
152 |
+
require $modulePath . DIRECTORY_SEPARATOR . 'moduleVersion.php';
|
153 |
+
$ext->setFriendlyName($moduleName);
|
154 |
+
$ext->setCurrentVersion($moduleVersion);
|
155 |
+
$ext->setWikiUrl($moduleWikiUrl);
|
156 |
+
|
157 |
+
// Non-standard variable
|
158 |
+
if (isset($moduleChangelogUrl)) {
|
159 |
+
$ext->setChangelogUrl($moduleChangelogUrl);
|
160 |
+
}
|
161 |
+
}
|
162 |
+
}
|
163 |
+
|
164 |
+
}
|
app/code/community/Modulesgarden/Base/Model/System/Config/Source/Notificationevents.php
ADDED
@@ -0,0 +1,45 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-11-10, 10:46:06)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
class Modulesgarden_Base_Model_System_Config_Source_Notificationevents {
|
29 |
+
|
30 |
+
CONST UPGRADES = 'upgrade';
|
31 |
+
CONST RELEASES = 'release';
|
32 |
+
CONST PROMOTIONS = 'promotions';
|
33 |
+
CONST OTHER = 'other';
|
34 |
+
|
35 |
+
public function toOptionArray() {
|
36 |
+
$h = Mage::helper('modulesgardenbase');
|
37 |
+
return array(
|
38 |
+
array('value' => self::UPGRADES, 'label' => $h->__('Upgrade Is Ready')),
|
39 |
+
array('value' => self::RELEASES, 'label' => $h->__('ModulesGarden Release New Extension')),
|
40 |
+
array('value' => self::PROMOTIONS, 'label' => $h->__('Promotions/Discounts')),
|
41 |
+
array('value' => self::OTHER, 'label' => $h->__('Other Important Messages')),
|
42 |
+
);
|
43 |
+
}
|
44 |
+
|
45 |
+
}
|
app/code/community/Modulesgarden/Base/etc/adminhtml.xml
ADDED
@@ -0,0 +1,25 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<config>
|
3 |
+
<acl>
|
4 |
+
<resources>
|
5 |
+
<admin>
|
6 |
+
<children>
|
7 |
+
<system>
|
8 |
+
<children>
|
9 |
+
<config>
|
10 |
+
<children>
|
11 |
+
<mgbase_installed_extensions>
|
12 |
+
<title>Modulesgarden Base - Installed Extensions</title>
|
13 |
+
</mgbase_installed_extensions>
|
14 |
+
<mgbase_store>
|
15 |
+
<title>Modulesgarden Base - Store</title>
|
16 |
+
</mgbase_store>
|
17 |
+
</children>
|
18 |
+
</config>
|
19 |
+
</children>
|
20 |
+
</system>
|
21 |
+
</children>
|
22 |
+
</admin>
|
23 |
+
</resources>
|
24 |
+
</acl>
|
25 |
+
</config>
|
app/code/community/Modulesgarden/Base/etc/config.xml
ADDED
@@ -0,0 +1,90 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Modulesgarden_Base>
|
5 |
+
<version>1.0.0</version>
|
6 |
+
</Modulesgarden_Base>
|
7 |
+
</modules>
|
8 |
+
|
9 |
+
<admin>
|
10 |
+
<routers>
|
11 |
+
<modulesgardenbase>
|
12 |
+
<use>admin</use>
|
13 |
+
<args>
|
14 |
+
<module>Modulesgarden_Base</module>
|
15 |
+
<frontName>modulesgardenbase</frontName>
|
16 |
+
</args>
|
17 |
+
</modulesgardenbase>
|
18 |
+
</routers>
|
19 |
+
</admin>
|
20 |
+
<adminhtml>
|
21 |
+
<translate>
|
22 |
+
<modules>
|
23 |
+
<modulesgardenbase>
|
24 |
+
<files>
|
25 |
+
<default>Modulesgarden_Base.csv</default>
|
26 |
+
</files>
|
27 |
+
</modulesgardenbase>
|
28 |
+
</modules>
|
29 |
+
</translate>
|
30 |
+
<layout>
|
31 |
+
<updates>
|
32 |
+
<modulesgardenbase>
|
33 |
+
<file>modulesgardenbase.xml</file>
|
34 |
+
</modulesgardenbase>
|
35 |
+
</updates>
|
36 |
+
</layout>
|
37 |
+
<events>
|
38 |
+
<adminhtml_block_html_before>
|
39 |
+
<observers>
|
40 |
+
<modulesgardenbase_config>
|
41 |
+
<class>modulesgardenbase/observer</class>
|
42 |
+
<method>adminhtml_block_html_before</method>
|
43 |
+
<type>model</type>
|
44 |
+
</modulesgardenbase_config>
|
45 |
+
</observers>
|
46 |
+
</adminhtml_block_html_before>
|
47 |
+
</events>
|
48 |
+
</adminhtml>
|
49 |
+
|
50 |
+
<global>
|
51 |
+
<blocks>
|
52 |
+
<modulesgardenbase>
|
53 |
+
<class>Modulesgarden_Base_Block</class>
|
54 |
+
</modulesgardenbase>
|
55 |
+
</blocks>
|
56 |
+
<models>
|
57 |
+
<modulesgardenbase>
|
58 |
+
<class>Modulesgarden_Base_Model</class>
|
59 |
+
<resourceModel>modulesgardenbase_resource</resourceModel>
|
60 |
+
</modulesgardenbase>
|
61 |
+
<modulesgardenbase_resource>
|
62 |
+
<class>Modulesgarden_Base_Model_Resource</class>
|
63 |
+
</modulesgardenbase_resource>
|
64 |
+
</models>
|
65 |
+
<helpers>
|
66 |
+
<modulesgardenbase>
|
67 |
+
<class>Modulesgarden_Base_Helper</class>
|
68 |
+
</modulesgardenbase>
|
69 |
+
</helpers>
|
70 |
+
</global>
|
71 |
+
<default>
|
72 |
+
<modulesgardenbase>
|
73 |
+
<notifications>
|
74 |
+
<create_system_notification>upgrade,release,promotion,other</create_system_notification>
|
75 |
+
</notifications>
|
76 |
+
</modulesgardenbase>
|
77 |
+
</default>
|
78 |
+
<crontab>
|
79 |
+
<jobs>
|
80 |
+
<modulesgardenbase_notifications>
|
81 |
+
<schedule>
|
82 |
+
<cron_expr>0 6 * * *</cron_expr><!-- 6:00 AM -->
|
83 |
+
</schedule>
|
84 |
+
<run>
|
85 |
+
<model>modulesgardenbase/observer::fetchNotifications</model>
|
86 |
+
</run>
|
87 |
+
</modulesgardenbase_notifications>
|
88 |
+
</jobs>
|
89 |
+
</crontab>
|
90 |
+
</config>
|
app/code/community/Modulesgarden/Base/etc/system.xml
ADDED
@@ -0,0 +1,95 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<modulesgarden>
|
5 |
+
<label><![CDATA[<div style="line-height:0;"><img id="mg_logo_block" src="http://www.modulesgarden.com/images/magento/mgcommerce-logo-black.png" /></div>]]></label>
|
6 |
+
<sort_order>1100</sort_order>
|
7 |
+
</modulesgarden>
|
8 |
+
</tabs>
|
9 |
+
<sections>
|
10 |
+
<mgbase_installed_extensions translate="label">
|
11 |
+
<class>separator-top</class>
|
12 |
+
<label>Installed Extensions</label>
|
13 |
+
<tab>modulesgarden</tab>
|
14 |
+
<sort_order>15</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 |
+
<modulesgarden>
|
20 |
+
<frontend_model>modulesgardenbase/adminhtml_system_config_form_fieldset_installedmodulesgarden</frontend_model>
|
21 |
+
<sort_order>5</sort_order>
|
22 |
+
<show_in_default>1</show_in_default>
|
23 |
+
<show_in_website>1</show_in_website>
|
24 |
+
<show_in_store>1</show_in_store>
|
25 |
+
</modulesgarden>
|
26 |
+
<modulesgardenthemes>
|
27 |
+
<frontend_model>modulesgardenbase/adminhtml_system_config_form_fieldset_installedmodulesgardenthemes</frontend_model>
|
28 |
+
<sort_order>5</sort_order>
|
29 |
+
<show_in_default>1</show_in_default>
|
30 |
+
<show_in_website>1</show_in_website>
|
31 |
+
<show_in_store>1</show_in_store>
|
32 |
+
</modulesgardenthemes>
|
33 |
+
<others>
|
34 |
+
<frontend_model>modulesgardenbase/adminhtml_system_config_form_fieldset_installedothers</frontend_model>
|
35 |
+
<sort_order>10</sort_order>
|
36 |
+
<show_in_default>1</show_in_default>
|
37 |
+
<show_in_website>1</show_in_website>
|
38 |
+
<show_in_store>1</show_in_store>
|
39 |
+
</others>
|
40 |
+
<customization_ratio>
|
41 |
+
<frontend_model>modulesgardenbase/adminhtml_system_config_form_fieldset_installedratio</frontend_model>
|
42 |
+
<sort_order>15</sort_order>
|
43 |
+
<show_in_default>1</show_in_default>
|
44 |
+
<show_in_website>1</show_in_website>
|
45 |
+
<show_in_store>1</show_in_store>
|
46 |
+
</customization_ratio>
|
47 |
+
</groups>
|
48 |
+
</mgbase_installed_extensions>
|
49 |
+
<mgbase_store translate="label">
|
50 |
+
<class>separator-top</class>
|
51 |
+
<label><![CDATA[Store & Notifications]]></label>
|
52 |
+
<tab>modulesgarden</tab>
|
53 |
+
<sort_order>20</sort_order>
|
54 |
+
<show_in_default>1</show_in_default>
|
55 |
+
<show_in_website>1</show_in_website>
|
56 |
+
<show_in_store>1</show_in_store>
|
57 |
+
<groups>
|
58 |
+
<store>
|
59 |
+
<frontend_model>modulesgardenbase/adminhtml_system_config_form_fieldset_store</frontend_model>
|
60 |
+
<sort_order>5</sort_order>
|
61 |
+
<show_in_default>1</show_in_default>
|
62 |
+
<show_in_website>1</show_in_website>
|
63 |
+
<show_in_store>1</show_in_store>
|
64 |
+
</store>
|
65 |
+
<notifications translate="label">
|
66 |
+
<label>Notifications Management</label>
|
67 |
+
<frontend_model>modulesgardenbase/adminhtml_system_config_form_fieldset_modulesgarden</frontend_model>
|
68 |
+
<sort_order>10</sort_order>
|
69 |
+
<show_in_default>1</show_in_default>
|
70 |
+
<show_in_website>0</show_in_website>
|
71 |
+
<show_in_store>0</show_in_store>
|
72 |
+
<fields>
|
73 |
+
<events translate="label">
|
74 |
+
<label>Add System Notification When</label>
|
75 |
+
<frontend_type>multiselect</frontend_type>
|
76 |
+
<source_model>modulesgardenbase/system_config_source_notificationevents</source_model>
|
77 |
+
<sort_order>1</sort_order>
|
78 |
+
<show_in_default>1</show_in_default>
|
79 |
+
<show_in_website>0</show_in_website>
|
80 |
+
<show_in_store>0</show_in_store>
|
81 |
+
<can_be_empty>1</can_be_empty>
|
82 |
+
</events>
|
83 |
+
</fields>
|
84 |
+
</notifications>
|
85 |
+
<twitter>
|
86 |
+
<frontend_model>modulesgardenbase/adminhtml_system_config_form_fieldset_twitter</frontend_model>
|
87 |
+
<sort_order>15</sort_order>
|
88 |
+
<show_in_default>1</show_in_default>
|
89 |
+
<show_in_website>1</show_in_website>
|
90 |
+
<show_in_store>1</show_in_store>
|
91 |
+
</twitter>
|
92 |
+
</groups>
|
93 |
+
</mgbase_store>
|
94 |
+
</sections>
|
95 |
+
</config>
|
app/design/adminhtml/default/default/layout/modulesgardenbase.xml
ADDED
@@ -0,0 +1,10 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<layout>
|
3 |
+
<adminhtml_system_config_edit>
|
4 |
+
<reference name="head">
|
5 |
+
<action method="addCss">
|
6 |
+
<name>modulesgardenbase/css/modulesgarden.css</name>
|
7 |
+
</action>
|
8 |
+
</reference>
|
9 |
+
</adminhtml_system_config_edit>
|
10 |
+
</layout>
|
app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/installedmodulesgarden.phtml
ADDED
@@ -0,0 +1,73 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/* * ********************************************************************
|
3 |
+
* Customization Services by ModulesGarden.com
|
4 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
5 |
+
* (2014-10-30, 12:11:38)
|
6 |
+
*
|
7 |
+
*
|
8 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
9 |
+
* CONTACT -> contact@modulesgarden.com
|
10 |
+
*
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
* This software is furnished under a license and may be used and copied
|
15 |
+
* only in accordance with the terms of such license and with the
|
16 |
+
* inclusion of the above copyright notice. This software or any other
|
17 |
+
* copies thereof may not be provided or otherwise made available to any
|
18 |
+
* other person. No title to and ownership of the software is hereby
|
19 |
+
* transferred.
|
20 |
+
*
|
21 |
+
*
|
22 |
+
* ******************************************************************** */
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
26 |
+
* @author Marcin Kozak <marcin.ko@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
?>
|
29 |
+
|
30 |
+
<div class="modulesgarden_grid_container">
|
31 |
+
<div class="grid">
|
32 |
+
<div class="hor-scroll">
|
33 |
+
<table cellspacing="0" class="data">
|
34 |
+
<thead>
|
35 |
+
<tr class="headings">
|
36 |
+
<th class=" no-link" style="width:50%;"><span class="nobr"><?php echo $this->__('Extension Name'); ?></span></th>
|
37 |
+
<th class=" no-link"><span class="nobr"><?php echo $this->__('Your Version'); ?></span></th>
|
38 |
+
<th class=" no-link" style="width:100px;"><span class="nobr"><?php echo $this->__('Documentation'); ?></span></th>
|
39 |
+
<th class=" no-link last" style="width:100px;"><span class="nobr"><?php echo $this->__('Changelog'); ?></span></th>
|
40 |
+
</tr>
|
41 |
+
</thead>
|
42 |
+
<tbody>
|
43 |
+
<?php foreach ($this->getExtensions() as $k => $extension): ?>
|
44 |
+
<?php if( ! $extension->isModulesgardenTheme()): ?>
|
45 |
+
<tr class="<?php echo $k % 2 == 0 ? 'even' : ''; ?>">
|
46 |
+
<td class="a-left"><?php echo $extension->getFriendlyName(); ?></td>
|
47 |
+
<td class="a-left">
|
48 |
+
<?php echo $extension->getVersion(); ?>
|
49 |
+
<?php if ($extension->isUpgardeAvailable()){ ?>
|
50 |
+
<strong style="padding-left: 10px;">
|
51 |
+
<?php echo $this->__('Upgrade Available!'); ?>
|
52 |
+
<a href="<?php echo $extension->getChangelogUrl(); ?>" target="_blank"><?php echo $extension->getLatestVersion(); ?></a>
|
53 |
+
</strong>
|
54 |
+
<?php } ?>
|
55 |
+
</td>
|
56 |
+
<td class="a-center">
|
57 |
+
<?php if ($extension->getWikiUrl()){ ?>
|
58 |
+
<a href="<?php echo $extension->getWikiUrl(); ?>" target="_blank"><?php echo $this->__('Documentation'); ?></a>
|
59 |
+
<?php } ?>
|
60 |
+
</td>
|
61 |
+
<td class="a-center last">
|
62 |
+
<?php if ($extension->getChangelogUrl()){ ?>
|
63 |
+
<a href="<?php echo $extension->getChangelogUrl(); ?>" target="_blank"><?php echo $this->__('Changelog'); ?></a>
|
64 |
+
<?php } ?>
|
65 |
+
</td>
|
66 |
+
</tr>
|
67 |
+
<?php endif ?>
|
68 |
+
<?php endforeach ?>
|
69 |
+
</tbody>
|
70 |
+
</table>
|
71 |
+
</div>
|
72 |
+
</div>
|
73 |
+
</div>
|
app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/installedmodulesgardenthemes.phtml
ADDED
@@ -0,0 +1,91 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/* * ********************************************************************
|
3 |
+
* Customization Services by ModulesGarden.com
|
4 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
5 |
+
* (2014-10-30, 12:11:38)
|
6 |
+
*
|
7 |
+
*
|
8 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
9 |
+
* CONTACT -> contact@modulesgarden.com
|
10 |
+
*
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
* This software is furnished under a license and may be used and copied
|
15 |
+
* only in accordance with the terms of such license and with the
|
16 |
+
* inclusion of the above copyright notice. This software or any other
|
17 |
+
* copies thereof may not be provided or otherwise made available to any
|
18 |
+
* other person. No title to and ownership of the software is hereby
|
19 |
+
* transferred.
|
20 |
+
*
|
21 |
+
*
|
22 |
+
* ******************************************************************** */
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
26 |
+
* @author Marcin Kozak <marcin.ko@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
?>
|
29 |
+
|
30 |
+
<div class="modulesgarden_form_container">
|
31 |
+
<div class="content-header skip-header">
|
32 |
+
<h3 class="modulesgardenbase_config_header">
|
33 |
+
<img src="<?php echo Mage::getBaseUrl('skin') ?>/adminhtml/base/default/modulesgardenbase/img/mgcommerce-logo.png" style="vertical-align: bottom;" />
|
34 |
+
<?php echo $this->__('Installed Themes'); ?>
|
35 |
+
</h3>
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
+
|
39 |
+
<div class="modulesgarden_grid_container">
|
40 |
+
<div class="grid">
|
41 |
+
<div class="hor-scroll">
|
42 |
+
<table cellspacing="0" class="data">
|
43 |
+
<thead>
|
44 |
+
<tr class="headings">
|
45 |
+
<th class=" no-link" style="width:50%;"><span class="nobr"><?php echo $this->__('Theme Name'); ?></span></th>
|
46 |
+
<th class=" no-link"><span class="nobr"><?php echo $this->__('Your Version'); ?></span></th>
|
47 |
+
<th class=" no-link" style="width:100px;"><span class="nobr"><?php echo $this->__('Documentation'); ?></span></th>
|
48 |
+
<th class=" no-link last" style="width:100px;"><span class="nobr"><?php echo $this->__('Changelog'); ?></span></th>
|
49 |
+
</tr>
|
50 |
+
</thead>
|
51 |
+
<tbody>
|
52 |
+
<?php $themesCount = 0; ?>
|
53 |
+
<?php foreach ($this->getExtensions() as $k => $extension): ?>
|
54 |
+
<?php if($extension->isModulesgardenTheme()): $themesCount++; ?>
|
55 |
+
<tr class="<?php echo $k%2==0 ? 'even' : ''; ?>">
|
56 |
+
<td class="a-left"><?php echo $extension->getFriendlyName(); ?></td>
|
57 |
+
<td class="a-left">
|
58 |
+
<?php echo $extension->getVersion(); ?>
|
59 |
+
<?php if ($extension->isUpgardeAvailable()){ ?>
|
60 |
+
<strong style="padding-left: 10px;">
|
61 |
+
<?php echo $this->__('Upgrade Available!'); ?>
|
62 |
+
<a href="<?php echo $extension->getChangelogUrl(); ?>" target="_blank"><?php echo $extension->getLatestVersion(); ?></a>
|
63 |
+
</strong>
|
64 |
+
<?php } ?>
|
65 |
+
</td>
|
66 |
+
<td class="a-center">
|
67 |
+
<?php if ($extension->getWikiUrl()){ ?>
|
68 |
+
<a href="<?php echo $extension->getWikiUrl(); ?>" target="_blank"><?php echo $this->__('Documentation'); ?></a>
|
69 |
+
<?php } ?>
|
70 |
+
</td>
|
71 |
+
<td class="a-center last">
|
72 |
+
<?php if ($extension->getChangelogUrl()){ ?>
|
73 |
+
<a href="<?php echo $extension->getChangelogUrl(); ?>" target="_blank"><?php echo $this->__('Changelog'); ?></a>
|
74 |
+
<?php } ?>
|
75 |
+
</td>
|
76 |
+
</tr>
|
77 |
+
<?php endif ?>
|
78 |
+
<?php endforeach ?>
|
79 |
+
|
80 |
+
<?php if($themesCount === 0): ?>
|
81 |
+
<tr>
|
82 |
+
<td colspan="4">
|
83 |
+
<?php echo $this->__('Your does not have any installed themes of ModulesGarden') ?>
|
84 |
+
</td>
|
85 |
+
</tr>
|
86 |
+
<?php endif ?>
|
87 |
+
</tbody>
|
88 |
+
</table>
|
89 |
+
</div>
|
90 |
+
</div>
|
91 |
+
</div>
|
app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/installedothers.phtml
ADDED
@@ -0,0 +1,57 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/* * ********************************************************************
|
3 |
+
* Customization Services by ModulesGarden.com
|
4 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
5 |
+
* (2014-10-31, 10:30:40)
|
6 |
+
*
|
7 |
+
*
|
8 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
9 |
+
* CONTACT -> contact@modulesgarden.com
|
10 |
+
*
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
* This software is furnished under a license and may be used and copied
|
15 |
+
* only in accordance with the terms of such license and with the
|
16 |
+
* inclusion of the above copyright notice. This software or any other
|
17 |
+
* copies thereof may not be provided or otherwise made available to any
|
18 |
+
* other person. No title to and ownership of the software is hereby
|
19 |
+
* transferred.
|
20 |
+
*
|
21 |
+
*
|
22 |
+
* ******************************************************************** */
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
26 |
+
*/
|
27 |
+
?>
|
28 |
+
|
29 |
+
<div class="modulesgarden_form_container">
|
30 |
+
<div class="content-header skip-header">
|
31 |
+
<h3 class="modulesgardenbase_config_header"><?php echo $this->__('Other Modules'); ?></h3>
|
32 |
+
</div>
|
33 |
+
</div>
|
34 |
+
|
35 |
+
<div class="modulesgarden_grid_container">
|
36 |
+
<div class="grid">
|
37 |
+
<div class="hor-scroll">
|
38 |
+
<table cellspacing="0" class="data">
|
39 |
+
<thead>
|
40 |
+
<tr class="headings">
|
41 |
+
<th class=" no-link" style="width:50%;"><span class="nobr"><?php echo $this->__('Extension Name'); ?></span></th>
|
42 |
+
<th class=" no-link"><span class="nobr"><?php echo $this->__('Your Version'); ?></span></th>
|
43 |
+
</tr>
|
44 |
+
</thead>
|
45 |
+
<tbody>
|
46 |
+
<?php foreach ($this->getExtensions() as $k => $extension) { ?>
|
47 |
+
<tr class="<?php echo $k%2==0 ? 'even' : ''; ?>">
|
48 |
+
<td class="a-left"><?php echo $extension->getName(); ?></td>
|
49 |
+
<td class="a-left last"><?php echo $extension->getVersion(); ?></td>
|
50 |
+
</tr>
|
51 |
+
<?php } ?>
|
52 |
+
</tbody>
|
53 |
+
</table>
|
54 |
+
</div>
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
|
app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/installedratio.phtml
ADDED
@@ -0,0 +1,73 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/* * ********************************************************************
|
3 |
+
* Customization Services by ModulesGarden.com
|
4 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
5 |
+
* (2014-10-31, 12:08:09)
|
6 |
+
*
|
7 |
+
*
|
8 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
9 |
+
* CONTACT -> contact@modulesgarden.com
|
10 |
+
*
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
* This software is furnished under a license and may be used and copied
|
15 |
+
* only in accordance with the terms of such license and with the
|
16 |
+
* inclusion of the above copyright notice. This software or any other
|
17 |
+
* copies thereof may not be provided or otherwise made available to any
|
18 |
+
* other person. No title to and ownership of the software is hereby
|
19 |
+
* transferred.
|
20 |
+
*
|
21 |
+
*
|
22 |
+
* ******************************************************************** */
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
26 |
+
*/
|
27 |
+
?>
|
28 |
+
|
29 |
+
<div class="modulesgarden_form_container">
|
30 |
+
<div class="content-header skip-header">
|
31 |
+
<h3 class="modulesgardenbase_config_header"><?php echo $this->__('Customization Ratio'); ?></h3>
|
32 |
+
</div>
|
33 |
+
|
34 |
+
<div class="entry-edit">
|
35 |
+
<div class="entry-edit-head">
|
36 |
+
<h4 class="icon-head head-edit-form fieldset-legend"> </h4>
|
37 |
+
</div>
|
38 |
+
<div class="fieldset ">
|
39 |
+
<div style="line-height:25px;">
|
40 |
+
<?php echo $this->__('Your Ratio Is:'); ?>
|
41 |
+
<strong><?php echo $this->getRatio(); ?></strong> (<strong><?php echo $this->getRatioLabel(); ?></strong>)
|
42 |
+
<div class="field-tooltip"><div><?php echo $this->__('These ratio is used by ModulesGarden for quotation of a Custom Projects. It tells us how much your system is non-standard.'); ?></div></div>
|
43 |
+
<br/>
|
44 |
+
|
45 |
+
<?php echo $this->__('Debug Details:'); ?>
|
46 |
+
<button onclick="return showMgDebugInfo();" id="mg_show_debug_info"><?php echo $this->__('Show'); ?></button>
|
47 |
+
<button onclick="return hideMgDebugInfo();" id="mg_hide_debug_info" style="display:none"><?php echo $this->__('Hide'); ?></button>
|
48 |
+
<div class="field-tooltip"><div><?php echo $this->__('This details are used by ModulesGarden for quotation of a Custom Projects. Please, provide it to us in case of a quotation request. It tells us more deeply, how much your system is non-standard.'); ?></div></div>
|
49 |
+
</div>
|
50 |
+
|
51 |
+
<div id="mg_debug_info" style="display:none;background-color: #eee;padding: 5px;margin-top:10px;">
|
52 |
+
<pre><?php echo $this->getDebugString(); ?></pre>
|
53 |
+
</div>
|
54 |
+
</div>
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
|
58 |
+
<script type="text/javascript">
|
59 |
+
function showMgDebugInfo(){
|
60 |
+
document.getElementById("mg_show_debug_info").style.display = 'none';
|
61 |
+
document.getElementById("mg_hide_debug_info").style.display = 'inline-block';
|
62 |
+
document.getElementById("mg_debug_info").style.display = 'block';
|
63 |
+
|
64 |
+
return false;
|
65 |
+
}
|
66 |
+
function hideMgDebugInfo(){
|
67 |
+
document.getElementById("mg_hide_debug_info").style.display = 'none';
|
68 |
+
document.getElementById("mg_show_debug_info").style.display = 'inline-block';
|
69 |
+
document.getElementById("mg_debug_info").style.display = 'none';
|
70 |
+
|
71 |
+
return false;
|
72 |
+
}
|
73 |
+
</script>
|
app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/store.phtml
ADDED
@@ -0,0 +1,75 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-10-31, 13:03:09)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
**********************************************************************/
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
$defaultIcon = Mage::getBaseUrl('skin') . '/adminhtml/base/default/modulesgardenbase/img/icons/module.png';
|
29 |
+
?>
|
30 |
+
|
31 |
+
<div class="modulesgarden_grid_container mg_store_container">
|
32 |
+
<table class="extension" cellspacing="0">
|
33 |
+
<?php foreach ($this->getExtensions() as $extension){ ?>
|
34 |
+
<tr>
|
35 |
+
<td class="img">
|
36 |
+
<img src="<?php echo $extension->getIconUrl($defaultIcon); ?>" />
|
37 |
+
</td>
|
38 |
+
<td class="content">
|
39 |
+
<h3><a href="<?php echo $extension->getFeaturesUrl(); ?>" target="_blank"><?php echo $extension->getFriendlyName(); ?></a></h3>
|
40 |
+
<small>Version <?php echo $extension->getLatestVersion(); ?></small>
|
41 |
+
|
42 |
+
<div>
|
43 |
+
<?php if ($extension->isAlreadyInstalled()){ ?>
|
44 |
+
<span class="storelabel installed"><?php echo $this->__('Already Installed'); ?></span>
|
45 |
+
<?php } ?>
|
46 |
+
<?php if ($extension->getIsNew()){ ?>
|
47 |
+
<a class="storelabel new" href="<?php echo $extension->getChangelogUrl(); ?>" target="_blank"><?php echo $this->__('New Version Available'); ?></a>
|
48 |
+
<?php } ?>
|
49 |
+
<?php if ($extension->getIsPromotion()){ ?>
|
50 |
+
<span class="storelabel promotion"><?php echo $this->__('Promotion'); ?></span>
|
51 |
+
<?php } ?>
|
52 |
+
</div>
|
53 |
+
|
54 |
+
<p class="description"><?php echo $extension->getDescription(); ?></p>
|
55 |
+
</td>
|
56 |
+
<td class="price">
|
57 |
+
<?php if ($extension->getPrice() > 0){ ?>
|
58 |
+
<strong>$<?php echo $extension->getPrice(); ?></strong>
|
59 |
+
<a href="<?php echo $extension->getBuyUrl(); ?>" class="form-button" target="_blank"><?php echo $this->__('Buy Now'); ?></a>
|
60 |
+
<?php } else { ?>
|
61 |
+
<strong><?php echo $this->__('FREE'); ?></strong>
|
62 |
+
<a href="<?php echo $extension->getFeaturesUrl(); ?>" class="form-button" target="_blank"><?php echo $this->__('Download'); ?></a>
|
63 |
+
<?php } ?>
|
64 |
+
</td>
|
65 |
+
</tr>
|
66 |
+
<?php } ?>
|
67 |
+
</table>
|
68 |
+
</div>
|
69 |
+
|
70 |
+
<script type="text/javascript">
|
71 |
+
document.observe("dom:loaded", function() {
|
72 |
+
// simple fix for "save" button color
|
73 |
+
$$('.form-buttons').invoke('addClassName', 'modulesgarden_form_container');
|
74 |
+
});
|
75 |
+
</script>
|
app/design/adminhtml/default/default/template/modulesgardenbase/system/config/form/fieldset/twitter.phtml
ADDED
@@ -0,0 +1,55 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-11-12, 14:02:17)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
**********************************************************************/
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
?>
|
30 |
+
|
31 |
+
<div class="section-config active modulesgarden_form_container">
|
32 |
+
<div class="entry-edit-head collapseable">
|
33 |
+
<a id="mgbase_store_twitter-head" href="#" onclick="Fieldset.toggleCollapse('mgbase_store_twitter'); return false;" class="open"><?php echo $this->__('Latest News About Our Magento Extensions & Themes'); ?></a>
|
34 |
+
</div>
|
35 |
+
<input id="mgbase_store_twitter-state" name="config_state[mgbase_store_twitter]" type="hidden" value="1">
|
36 |
+
<fieldset id="mgbase_store_twitter" class="config collapseable">
|
37 |
+
<button onclick="return mgShowTwitterBox();"><?php echo $this->__('Tweets by @ModulesGarden'); ?></button>
|
38 |
+
</fieldset>
|
39 |
+
<script type="text/javascript">//<![CDATA[
|
40 |
+
Fieldset.applyCollapse('mgbase_store_twitter');
|
41 |
+
//]]></script>
|
42 |
+
</div>
|
43 |
+
|
44 |
+
<script type="text/javascript">
|
45 |
+
function mgShowTwitterBox(){
|
46 |
+
var twitterBoxWidth = $('mgbase_store_twitter').getWidth() - 30;
|
47 |
+
var twitterBoxCode = '<a class="twitter-timeline" href="https://twitter.com/search?q=%23Magento%20AND%20from%3A%40ModulesGarden" data-tweet-limit="5" data-widget-id="532534423783079936"></a>';
|
48 |
+
document.getElementById('mgbase_store_twitter').innerHTML = twitterBoxCode;
|
49 |
+
|
50 |
+
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
|
51 |
+
return false;
|
52 |
+
}
|
53 |
+
|
54 |
+
mgShowTwitterBox();
|
55 |
+
</script>
|
app/design/adminhtml/default/default/template/modulesgardenbase/widget/form.phtml
ADDED
@@ -0,0 +1,35 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-05-16, 12:14:56)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
?>
|
29 |
+
|
30 |
+
<div class="modulesgarden_form">
|
31 |
+
<div class="entry-edit">
|
32 |
+
<?php echo $this->getFormHtml();?>
|
33 |
+
</div>
|
34 |
+
<?php echo $this->getChildHtml('form_after');?>
|
35 |
+
</div>
|
app/design/adminhtml/default/default/template/modulesgardenbase/widget/form/container.phtml
ADDED
@@ -0,0 +1,49 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-05-16, 12:17:41)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
|
29 |
+
$jsFormVar = $this->getJsFormVar() ? $this->getJsFormVar() : 'editForm';
|
30 |
+
$jsFormId = $this->getJsFormId() ? $this->getJsFormId() : 'edit_form';
|
31 |
+
?>
|
32 |
+
|
33 |
+
<div class="modulesgarden_form_container">
|
34 |
+
<?php echo $this->getFormInitScripts() ?>
|
35 |
+
<div class="content-header <?php echo $this->getSkipHeaderCopy() ? 'skip-header' : ''; ?>">
|
36 |
+
<?php echo $this->getHeaderHtml() ?>
|
37 |
+
<p class="form-buttons"><?php echo $this->getButtonsHtml('header') ?></p>
|
38 |
+
</div>
|
39 |
+
<?php echo $this->getFormHtml() ?>
|
40 |
+
<?php if ($this->hasFooterButtons()): ?>
|
41 |
+
<div class="content-footer">
|
42 |
+
<p class="form-buttons"><?php echo $this->getButtonsHtml('footer') ?></p>
|
43 |
+
</div>
|
44 |
+
<?php endif; ?>
|
45 |
+
<script type="text/javascript">
|
46 |
+
<?php echo $jsFormVar; ?> = new varienForm('<?php echo $jsFormId; ?>', '<?php echo $this->getValidationUrl() ?>');
|
47 |
+
</script>
|
48 |
+
<?php echo $this->getFormScripts() ?>
|
49 |
+
</div>
|
app/design/adminhtml/default/default/template/modulesgardenbase/widget/grid/container.phtml
ADDED
@@ -0,0 +1,42 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-05-16, 11:24:43)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
?>
|
29 |
+
|
30 |
+
<div class="modulesgarden_grid_container">
|
31 |
+
<div class="content-header <?php echo $this->getSkipHeaderCopy() ? 'skip-header' : ''; ?>">
|
32 |
+
<table cellspacing="0">
|
33 |
+
<tr>
|
34 |
+
<td style="<?php echo $this->getHeaderWidth() ?>"><?php echo $this->getHeaderHtml() ?></td>
|
35 |
+
<td class="form-buttons"><?php echo $this->getButtonsHtml() ?></td>
|
36 |
+
</tr>
|
37 |
+
</table>
|
38 |
+
</div>
|
39 |
+
<div>
|
40 |
+
<?php echo $this->getGridHtml() ?>
|
41 |
+
</div>
|
42 |
+
</div>
|
app/design/adminhtml/default/default/template/modulesgardenbase/widget/tabs.phtml
ADDED
@@ -0,0 +1,56 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* * ********************************************************************
|
4 |
+
* Customization Services by ModulesGarden.com
|
5 |
+
* Copyright (c) ModulesGarden, INBS Group Brand, All Rights Reserved
|
6 |
+
* (2014-05-16, 09:10:13)
|
7 |
+
*
|
8 |
+
*
|
9 |
+
* CREATED BY MODULESGARDEN -> http://modulesgarden.com
|
10 |
+
* CONTACT -> contact@modulesgarden.com
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*
|
14 |
+
*
|
15 |
+
* This software is furnished under a license and may be used and copied
|
16 |
+
* only in accordance with the terms of such license and with the
|
17 |
+
* inclusion of the above copyright notice. This software or any other
|
18 |
+
* copies thereof may not be provided or otherwise made available to any
|
19 |
+
* other person. No title to and ownership of the software is hereby
|
20 |
+
* transferred.
|
21 |
+
*
|
22 |
+
*
|
23 |
+
* ******************************************************************** */
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @author Grzegorz Draganik <grzegorz@modulesgarden.com>
|
27 |
+
*/
|
28 |
+
?>
|
29 |
+
|
30 |
+
<div class="modulesgarden_tabs">
|
31 |
+
<?php if($this->getTitle()): ?>
|
32 |
+
<h3><?php echo $this->getTitle() ?></h3>
|
33 |
+
<?php endif ?>
|
34 |
+
<?php if(!empty($tabs)): ?>
|
35 |
+
<ul id="<?php echo $this->getId() ?>" class="tabs">
|
36 |
+
<?php foreach ($tabs as $_tab): ?>
|
37 |
+
<?php if (!$this->canShowTab($_tab)): continue; endif; ?>
|
38 |
+
<li <?php if($this->getTabIsHidden($_tab)): ?> style="display:none"<?php endif; ?>>
|
39 |
+
<a href="<?php echo $this->getTabUrl($_tab) ?>" id="<?php echo $this->getTabId($_tab) ?>" name="<?php echo $this->getTabId($_tab, false) ?>" title="<?php echo $this->getTabTitle($_tab) ?>" class="tab-item-link <?php echo $this->getTabClass($_tab) ?><?php if (preg_match('/\s?ajax\s?/', $_tab->getClass())) {?> notloaded<?php }?>">
|
40 |
+
<span><span class="changed" title="<?php echo $this->__('The information in this tab has been changed.') ?>"></span><span class="error" title="<?php echo $this->__('This tab contains invalid data. Please solve the problem before saving.') ?>"></span><?php echo $this->getTabLabel($_tab); ?></span>
|
41 |
+
</a>
|
42 |
+
<div id="<?php echo $this->getTabId($_tab) ?>_content" style="display:none;"><?php echo $this->getTabContent($_tab) ?></div>
|
43 |
+
</li>
|
44 |
+
<?php endforeach; ?>
|
45 |
+
</ul>
|
46 |
+
<script type="text/javascript">
|
47 |
+
<?php echo $this->getJsObjectName() ?> = new varienTabs('<?php echo $this->getId() ?>', '<?php echo $this->getDestElementId() ?>', '<?php echo $this->getActiveTabId() ?>', <?php echo $this->getAllShadowTabs()?>);
|
48 |
+
</script>
|
49 |
+
<?php endif; ?>
|
50 |
+
|
51 |
+
<div class="modulesgarden_logo">
|
52 |
+
<a href="http://www.modulesgarden.com/development/ecommerce/magento" target="_blank">
|
53 |
+
<img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN) ?>/adminhtml/base/default/modulesgardenbase/img/modulesgarden.png" />
|
54 |
+
</a>
|
55 |
+
</div>
|
56 |
+
</div>
|
app/etc/modules/Modulesgarden_Base.xml
ADDED
@@ -0,0 +1,9 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Modulesgarden_Base>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
</Modulesgarden_Base>
|
8 |
+
</modules>
|
9 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,18 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Modulesgarden_Base</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license>OSL</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>ModulesGarden Base For Magento is a free addition to any of our extensions and themes. It allows you to be up to date with currently installed ModulesGarden extensions and themes as well as view other ModulesGarden products for Magento.</summary>
|
10 |
+
<description>ModulesGarden Base For Magento is a free addition to any of our extensions and themes. It allows you to be up to date with currently installed ModulesGarden extensions and themes as well as view other ModulesGarden products for Magento. The extensions will enable you to receive notifications about a new version of the extension you already have, a new extension or upgrade of an existing extension, ModulesGarden extensions or themes promotions/discounts, and the latest ModulesGarden tweets concerning Magento.</description>
|
11 |
+
<notes>Initial Release</notes>
|
12 |
+
<authors><author><name>ModulesGarden</name><user>ModulesGarden</user><email>peter@inbsgroup.com</email></author></authors>
|
13 |
+
<date>2015-05-14</date>
|
14 |
+
<time>11:26:25</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="Modulesgarden"><dir name="Base"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><dir name="Fieldset"><file name="Installedmodulesgarden.php" hash="3df0af37eca70802f63d831ba460f87b"/><file name="Installedmodulesgardenthemes.php" hash="da2d69d723ff9ece82665d1d70541dd0"/><file name="Installedothers.php" hash="f91396d22bfaa0620ba31e5b6bf92e38"/><file name="Installedratio.php" hash="1a1679fd99e74e8172d2952742c446ba"/><file name="Modulesgarden.php" hash="e79433fe6b0ec69bf1cd83e1a0b97055"/><file name="Store.php" hash="ba1d8a16cc9675c1b7de01e81cc0c7b7"/><file name="Twitter.php" hash="c1d0ffb9c445cb816a12e4675376f54a"/></dir></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="a23cff97e79a0281b28e13bbb87c989d"/></dir><dir name="Model"><dir name="Adminnotification"><file name="Inbox.php" hash="428c27b1ec1d5bdff9cbbc9db5e82226"/></dir><dir name="Extension"><file name="Client.php" hash="f6cd0c6832db81bd01e696b456b4e016"/></dir><file name="Extension.php" hash="626db517c7c46dfc062ba1a8ac135fdc"/><file name="Mage.php" hash="79fbec924453acd685327a8db83e0c40"/><file name="Observer.php" hash="dbde463989a7f330e0421ce3d07d8c12"/><dir name="Resource"><file name="Extension.php" hash="2903749600ecda082a8f2c291fbfdd59"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Notificationevents.php" hash="4d164a1932238a388a16e75b04085a5a"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="c110e77231868a94bb734aad0cf9b30c"/><file name="config.xml" hash="d4a4d3de652488769909e595f57e449c"/><file name="system.xml" hash="5e5441576d62ec77b27ad5c9bae3b78b"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="modulesgardenbase.xml" hash="f9aa850ca502495cf6467686c5e1aa42"/></dir><dir name="template"><dir name="modulesgardenbase"><dir name="system"><dir name="config"><dir name="form"><dir name="fieldset"><file name="installedmodulesgarden.phtml" hash="633074ef64326710d4214b5309604cc9"/><file name="installedmodulesgardenthemes.phtml" hash="64313de5566b153377ba76947dfc354d"/><file name="installedothers.phtml" hash="fa40d98a17b6d1c9354d4c45471748a5"/><file name="installedratio.phtml" hash="939cfd21c0dbe0972cee9583ba20484b"/><file name="store.phtml" hash="ed4d3a670ee9a9d1ee5ff540b78c6166"/><file name="twitter.phtml" hash="d955abbc4a16c33c7169a9d219f75cf5"/></dir></dir></dir></dir><dir name="widget"><dir name="form"><file name="container.phtml" hash="7d255229c84eccfbe5f3edc15b88fddf"/></dir><file name="form.phtml" hash="885d4544407aed221582e79697b64e47"/><dir name="grid"><file name="container.phtml" hash="2560f0b75910ab22936a1cd05cab2e20"/></dir><file name="tabs.phtml" hash="ab51533c04ac6df20a721f33add3d8c8"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Modulesgarden_Base.xml" hash="7e08916cafe861737ef2c91956ba6600"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="modulesgardenbase"><dir name="css"><file name="modulesgarden.css" hash="650577b300aee71663f56162c3281473"/></dir><dir name="img"><file name="arrows.png" hash="8f6063c353557f32422521b2d7944734"/><file name="arrows_both.png" hash="0c1e461aa5a44b095a7522d08fa620bf"/><file name="arrows_down.png" hash="28b63c1742de966de6627d09047655d4"/><file name="arrows_down_dr.png" hash="58a61fbd2450542546e1a8bb46f990a7"/><file name="arrows_right.png" hash="e0e361c5792b26f5da2a2122b9f88d3f"/><file name="arrows_right_dr.png" hash="8b7af3a05c2b921313b39ae4fca2c3bf"/><file name="arrows_up.png" hash="f5210ec0865d4f2e59f878fc18506c61"/><dir name="icons"><file name="add_btn_icon.gif" hash="29ba6721f6188ffb67d1ce971a17509a"/><file name="bkg_btn-close2.gif" hash="efbc20287cea1d26712b4d9bd4a4d7b5"/><file name="btn_add-image_icon.gif" hash="b85039dd1dd204f348b6df6f3b11dcf7"/><file name="btn_add-widget_icon.gif" hash="eb7c1817b3706ce99cd1e4a0fbb619e7"/><file name="btn_go.gif" hash="0bfe09ca976da5ff1a6474305a40c95b"/><file name="btn_save_icon.gif" hash="bb25772f4f864f0ab4fd27255f027641"/><file name="btn_show-hide_icon.gif" hash="3e906aa321395f8828d457936dd5c4d9"/><file name="cancel_btn_icon.gif" hash="30a7d2003e8456ae2fb18eb52ad43305"/><file name="entry_edit_head_arrow_down.gif" hash="c0cc1a81d382db0f93d1acb243331c68"/><file name="entry_edit_head_arrow_down2.gif" hash="fd5c4bcf6ba5012262acb3b5108498ea"/><file name="entry_edit_head_arrow_up.gif" hash="fe7b94bd5c8984930143d3875523de3b"/><file name="error-msg.png" hash="dbcd59735bdd1fc9d8817f1ed3913ca9"/><file name="error_msg_icon.gif" hash="8855b0d4f318bf14e5f721617298447c"/><file name="icon_btn_add.gif" hash="29ba6721f6188ffb67d1ce971a17509a"/><file name="module.png" hash="7dfc67e00048390302bbabd7562e5510"/><file name="more_arrow.gif" hash="6702a983eba5b8273c60102c2d16d43e"/><file name="reload.png" hash="a6550016386975aa94cd36ae00e641b8"/><file name="save_btn_icon.gif" hash="bb25772f4f864f0ab4fd27255f027641"/></dir><file name="mgcommerce-logo.png" hash="8757e70e181c7360dbf280a94250a3ac"/><file name="modulesgarden.png" hash="60c4a74c9f6499dd1f0f62a668a1f777"/></dir></dir></dir></dir></dir></target></contents>
|
16 |
+
<compatible/>
|
17 |
+
<dependencies><required><php><min>5.2.13</min><max>5.6.0</max></php></required></dependencies>
|
18 |
+
</package>
|
skin/adminhtml/base/default/modulesgardenbase/css/modulesgarden.css
ADDED
@@ -0,0 +1,339 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/* TABS */
|
2 |
+
|
3 |
+
.modulesgarden_tabs li a:link, .modulesgarden_tabs li a:visited {
|
4 |
+
color: #1c4b8c;
|
5 |
+
background: #f6f9fd;
|
6 |
+
line-height: 32px;
|
7 |
+
}
|
8 |
+
|
9 |
+
.modulesgarden_tabs a.active:link, .modulesgarden_tabs a.active:visited {
|
10 |
+
background: #1c4b8c !important;
|
11 |
+
color: #fff;
|
12 |
+
}
|
13 |
+
|
14 |
+
.modulesgarden_tabs a.active span {
|
15 |
+
background: inherit !important;
|
16 |
+
}
|
17 |
+
|
18 |
+
.modulesgarden_tabs li a:hover {
|
19 |
+
background: #2562b7;
|
20 |
+
color: #fff;
|
21 |
+
}
|
22 |
+
|
23 |
+
.modulesgarden_tabs h3 {
|
24 |
+
color: #2056a1;
|
25 |
+
font-weight: lighter;
|
26 |
+
font-size: 18px;
|
27 |
+
}
|
28 |
+
|
29 |
+
.modulesgarden_tabs ul.tabs a span.changed, .modulesgarden_tabs ul.tabs a:hover span.changed, .modulesgarden_tabs ul.tabs a span.error, .modulesgarden_tabs ul.tabs a:hover span.error {
|
30 |
+
margin-top: 7px;
|
31 |
+
}
|
32 |
+
|
33 |
+
.modulesgarden_tabs .error, .modulesgarden_tabs a.error span, .modulesgarden_tabs .required, .modulesgarden_tabs .validation-advice {
|
34 |
+
color: #1c4b8c;
|
35 |
+
/*font-size: 16px;*/;
|
36 |
+
}
|
37 |
+
|
38 |
+
.modulesgarden_tabs a.active.error span {
|
39 |
+
color: white !important;
|
40 |
+
}
|
41 |
+
|
42 |
+
|
43 |
+
/* LOGO */
|
44 |
+
|
45 |
+
div.modulesgarden_logo {
|
46 |
+
margin-top: 50px;
|
47 |
+
}
|
48 |
+
|
49 |
+
div.modulesgarden_logo img {
|
50 |
+
width: 100%;
|
51 |
+
}
|
52 |
+
|
53 |
+
/* GRIDS */
|
54 |
+
|
55 |
+
.modulesgarden_grid_container .grid tr.headings {
|
56 |
+
background: #2562b7 !important;
|
57 |
+
background-image:none !important;
|
58 |
+
color: white;
|
59 |
+
}
|
60 |
+
|
61 |
+
.modulesgarden_grid_container tr.headings a span {
|
62 |
+
padding: 0;
|
63 |
+
line-height: 22px;
|
64 |
+
}
|
65 |
+
|
66 |
+
.modulesgarden_grid_container tr.headings a, .modulesgarden_grid_container tr.headings span {
|
67 |
+
color: white;
|
68 |
+
}
|
69 |
+
|
70 |
+
.modulesgarden_grid_container tr.headings span.nobr {
|
71 |
+
padding: 5px;
|
72 |
+
display: inline-block;
|
73 |
+
height: 24px;
|
74 |
+
line-height: 24px;
|
75 |
+
}
|
76 |
+
|
77 |
+
.modulesgarden_grid_container tr.headings .sort-arrow-desc, .modulesgarden_grid_container tr.headings .sort-arrow-asc {
|
78 |
+
background: #457DCC !important;
|
79 |
+
border: 0 !important;
|
80 |
+
}
|
81 |
+
|
82 |
+
.modulesgarden_grid_container tr.headings .sort-arrow-desc span, .modulesgarden_grid_container tr.headings .sort-arrow-asc span {
|
83 |
+
padding: 0 12px 2px 8px !important;
|
84 |
+
line-height: 17px !important;
|
85 |
+
}
|
86 |
+
|
87 |
+
.modulesgarden_grid_container tr.headings th .sort-arrow-desc span.sort-title {
|
88 |
+
background-image: url('../img/arrows_down.png') !important;
|
89 |
+
}
|
90 |
+
|
91 |
+
.modulesgarden_grid_container tr.headings th .sort-arrow-asc span.sort-title {
|
92 |
+
background-image: url('../img/arrows_up.png') !important;
|
93 |
+
}
|
94 |
+
|
95 |
+
.modulesgarden_grid_container tr.headings th a {
|
96 |
+
padding: 5px 4px 1px 0;
|
97 |
+
}
|
98 |
+
|
99 |
+
.modulesgarden_grid_container h3, h3.modulesgardenbase_config_header {
|
100 |
+
color: #2056a1;
|
101 |
+
font-weight: lighter;
|
102 |
+
font-size: 18px;
|
103 |
+
}
|
104 |
+
|
105 |
+
.modulesgarden_grid_container table.actions {
|
106 |
+
background: #ddd;
|
107 |
+
padding: 10px;
|
108 |
+
margin: 0;
|
109 |
+
color: #2f2f2f;
|
110 |
+
}
|
111 |
+
|
112 |
+
.modulesgarden_grid_container table.actions td {
|
113 |
+
vertical-align: middle;
|
114 |
+
}
|
115 |
+
|
116 |
+
.modulesgarden_grid_container .grid tr.filter {
|
117 |
+
background: white;
|
118 |
+
}
|
119 |
+
|
120 |
+
.modulesgarden_grid_container div.grid td {
|
121 |
+
padding: 4px;
|
122 |
+
}
|
123 |
+
|
124 |
+
.modulesgarden_grid_container div.grid tr.even td {
|
125 |
+
background: #eee;
|
126 |
+
}
|
127 |
+
|
128 |
+
.modulesgarden_grid_container a:link, .modulesgarden_grid_container a:visited {
|
129 |
+
color: #1c4b8c;
|
130 |
+
}
|
131 |
+
|
132 |
+
|
133 |
+
/* EDIT FORM */
|
134 |
+
|
135 |
+
.modulesgarden_form_container h3 {
|
136 |
+
color: #2056a1;
|
137 |
+
font-weight: lighter;
|
138 |
+
font-size: 18px;
|
139 |
+
}
|
140 |
+
|
141 |
+
.modulesgarden_form_container div.entry-edit-head {
|
142 |
+
background: #2562b7;
|
143 |
+
padding: 6px;
|
144 |
+
}
|
145 |
+
|
146 |
+
/* BUTTONS */
|
147 |
+
|
148 |
+
.modulesgarden_grid_container button,
|
149 |
+
.modulesgarden_form_container button,
|
150 |
+
.modulesgarden_grid_container .form-button,
|
151 |
+
.modulesgarden_form_container .form-button,
|
152 |
+
.modulesgarden_grid_container button.save,
|
153 |
+
.modulesgarden_form_container button.save,
|
154 |
+
#mgbase_store_twitter button {
|
155 |
+
border-color: rgba(21,76,153,1) !important;
|
156 |
+
-webkit-border-radius:0 !important;
|
157 |
+
-moz-border-radius:0 !important;
|
158 |
+
border-radius:0 !important;
|
159 |
+
background: #428BCA !important;
|
160 |
+
color: #fff !important;
|
161 |
+
background-image: none !important;
|
162 |
+
border: 1px solid transparent !important;
|
163 |
+
border-color: #357ebd !important;
|
164 |
+
vertical-align: middle !important;
|
165 |
+
}
|
166 |
+
|
167 |
+
.modulesgarden_grid_container button:hover,
|
168 |
+
.modulesgarden_form_container button:hover {
|
169 |
+
background: #2562B7 !important;
|
170 |
+
}
|
171 |
+
|
172 |
+
.modulesgarden_grid_container button:active,
|
173 |
+
.modulesgarden_form_container button:active {
|
174 |
+
background: #2562B7 !important;
|
175 |
+
}
|
176 |
+
|
177 |
+
.modulesgarden_grid_container button span,
|
178 |
+
.modulesgarden_form_container button.span {
|
179 |
+
line-height: 1.35em !important;
|
180 |
+
background-repeat: no-repeat !important;
|
181 |
+
background-position: 0 50% !important;
|
182 |
+
}
|
183 |
+
|
184 |
+
.modulesgarden_grid_container button.back,
|
185 |
+
.modulesgarden_form_container button.back {
|
186 |
+
background: rgb(255, 255, 255) !important;
|
187 |
+
background: -moz-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(216, 216, 216) 100%) !important;
|
188 |
+
background: -webkit-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(216, 216, 216) 100%) !important;
|
189 |
+
background: -o-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(216, 216, 216) 100%) !important;
|
190 |
+
background: -ms-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(216, 216, 216) 100%) !important;
|
191 |
+
background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(216, 216, 216) 100%) !important;
|
192 |
+
border-left:1px solid rgb(204, 204, 204) !important;
|
193 |
+
border-top:1px solid rgb(204, 204, 204) !important;
|
194 |
+
border-right:1px solid rgb(170, 170, 170) !important;
|
195 |
+
border-bottom:1px solid rgb(170, 170, 170) !important;
|
196 |
+
color:rgb(85, 85, 85) !important;
|
197 |
+
}
|
198 |
+
|
199 |
+
.modulesgarden_grid_container button.back:hover,
|
200 |
+
.modulesgarden_form_container button.back:hover {
|
201 |
+
background-image:none !important;
|
202 |
+
background-color:white !important;
|
203 |
+
}
|
204 |
+
|
205 |
+
.modulesgarden_grid_container button.cancel,
|
206 |
+
.modulesgarden_grid_container button.delete,
|
207 |
+
.modulesgarden_form_container button.cancel,
|
208 |
+
.modulesgarden_form_container button.delete {
|
209 |
+
background: rgb(66, 139, 202) !important;
|
210 |
+
background: -moz-linear-gradient(90deg, rgb(66, 139, 202) 0%, rgb(37, 98, 183) 100%) !important;
|
211 |
+
background: -webkit-linear-gradient(90deg, rgb(66, 139, 202) 0%, rgb(37, 98, 183) 100%) !important;
|
212 |
+
background: -o-linear-gradient(90deg, rgb(66, 139, 202) 0%, rgb(37, 98, 183) 100%) !important;
|
213 |
+
background: -ms-linear-gradient(90deg, rgb(66, 139, 202) 0%, rgb(37, 98, 183) 100%) !important;
|
214 |
+
background: linear-gradient(180deg, rgb(66, 139, 202) 0%, rgb(37, 98, 183) 100%) !important;
|
215 |
+
border-color:#357ebd !important;
|
216 |
+
}
|
217 |
+
|
218 |
+
.modulesgarden_grid_container button.cancel:hover,
|
219 |
+
.modulesgarden_grid_container button.delete:hover,
|
220 |
+
.modulesgarden_form_container button.cancel:hover,
|
221 |
+
.modulesgarden_form_container button.delete:hover {
|
222 |
+
background: rgb(66, 139, 202) !important;
|
223 |
+
background: -moz-linear-gradient(270deg, rgb(66, 139, 202) 0%, rgb(37, 98, 183) 100%) !important;
|
224 |
+
background: -webkit-linear-gradient(270deg, rgb(66, 139, 202) 0%, rgb(37, 98, 183) 100%) !important;
|
225 |
+
background: -o-linear-gradient(270deg, rgb(66, 139, 202) 0%, rgb(37, 98, 183) 100%) !important;
|
226 |
+
background: -ms-linear-gradient(270deg, rgb(66, 139, 202) 0%, rgb(37, 98, 183) 100%) !important;
|
227 |
+
background: linear-gradient(0deg, rgb(66, 139, 202) 0%, rgb(37, 98, 183) 100%) !important;
|
228 |
+
border:1px solid #357ebd !important;
|
229 |
+
}
|
230 |
+
|
231 |
+
.modulesgarden_grid_container button.add span,
|
232 |
+
.modulesgarden_form_container button.add span {
|
233 |
+
background-image: url(../img/icons/add_btn_icon.gif);
|
234 |
+
}
|
235 |
+
|
236 |
+
.modulesgarden_grid_container button.save span,
|
237 |
+
.modulesgarden_form_container button.save span {
|
238 |
+
background-image: url(../img/icons/save_btn_icon.gif);
|
239 |
+
}
|
240 |
+
|
241 |
+
.modulesgarden_grid_container button.cancel span,
|
242 |
+
.modulesgarden_grid_container button.delete span,
|
243 |
+
.modulesgarden_form_container button.cancel span,
|
244 |
+
.modulesgarden_form_container button.delete span {
|
245 |
+
background-image: url(../img/icons/cancel_btn_icon.gif);
|
246 |
+
}
|
247 |
+
|
248 |
+
.modulesgarden_grid_container button.show-hide span,
|
249 |
+
.modulesgarden_form_container button.show-hide span {
|
250 |
+
background-image: url(../img/icons/btn_show-hide_icon.gif);
|
251 |
+
padding-left: 26px;
|
252 |
+
}
|
253 |
+
|
254 |
+
.modulesgarden_grid_container button.go span,
|
255 |
+
.modulesgarden_form_container button.go span {
|
256 |
+
background-image: url(../img/icons/btn_go.gif);
|
257 |
+
padding-left: 16px;
|
258 |
+
}
|
259 |
+
|
260 |
+
.modulesgarden_grid_container button.add-widget span,
|
261 |
+
.modulesgarden_form_container button.add-widget span {
|
262 |
+
background-image: url(../img/icons/btn_add-widget_icon.gif);
|
263 |
+
}
|
264 |
+
|
265 |
+
.modulesgarden_grid_container button.add-image span,
|
266 |
+
.modulesgarden_form_container button.add-image span {
|
267 |
+
background-image: url(../img/icons/btn_add-image_icon.gif);
|
268 |
+
}
|
269 |
+
|
270 |
+
/* STORE */
|
271 |
+
|
272 |
+
.mg_store_container table.extension {
|
273 |
+
width:100%;
|
274 |
+
margin-bottom:20px;
|
275 |
+
}
|
276 |
+
.mg_store_container table.extension td {
|
277 |
+
background-color: #f8f8f8;
|
278 |
+
border-bottom:2px solid #e7e7e7;
|
279 |
+
vertical-align: middle;
|
280 |
+
}
|
281 |
+
.mg_store_container table.extension h3 {
|
282 |
+
display: inline-block;
|
283 |
+
margin-right: 10px;
|
284 |
+
}
|
285 |
+
.mg_store_container table.extension h3 a {
|
286 |
+
text-decoration:none;
|
287 |
+
}
|
288 |
+
.mg_store_container table.extension td.img img {
|
289 |
+
display:block;
|
290 |
+
width: 80px;
|
291 |
+
}
|
292 |
+
.mg_store_container table.extension td.img {
|
293 |
+
text-align: center;
|
294 |
+
padding:5px;
|
295 |
+
width: 85px;
|
296 |
+
}
|
297 |
+
.mg_store_container table.extension .storelabel {
|
298 |
+
display: inline-block;
|
299 |
+
margin:-2px 0 10px;
|
300 |
+
padding:3px 10px;
|
301 |
+
color:white;
|
302 |
+
font-weight:bold;
|
303 |
+
text-decoration:none;
|
304 |
+
}
|
305 |
+
.mg_store_container table.extension span.installed {
|
306 |
+
background-color:#009933;
|
307 |
+
}
|
308 |
+
.mg_store_container table.extension .new {
|
309 |
+
background-color:#cc3333;
|
310 |
+
}
|
311 |
+
.mg_store_container table.extension .new:hover {
|
312 |
+
background-color:#a41515;
|
313 |
+
}
|
314 |
+
.mg_store_container table.extension span.promotion {
|
315 |
+
background-color:#990033;
|
316 |
+
}
|
317 |
+
.mg_store_container table.extension td.price {
|
318 |
+
text-align: center;
|
319 |
+
padding:0 10px;
|
320 |
+
line-height: 25px;
|
321 |
+
}
|
322 |
+
.mg_store_container table.extension td.price strong {
|
323 |
+
display:block;
|
324 |
+
font-size:18px;
|
325 |
+
color:#1c4b8c;
|
326 |
+
}
|
327 |
+
.mg_store_container table.extension td.price a, #mgbase_store_twitter button {
|
328 |
+
text-decoration: none;
|
329 |
+
padding:7px 16px;
|
330 |
+
}
|
331 |
+
.mg_store_container table.extension td.price a:hover, #mgbase_store_twitter button:hover {
|
332 |
+
background-color: #1c4b8c !important;
|
333 |
+
}
|
334 |
+
|
335 |
+
|
336 |
+
#mgbase_store_twitter iframe {
|
337 |
+
width: 100% !important;
|
338 |
+
}
|
339 |
+
|
skin/adminhtml/base/default/modulesgardenbase/img/arrows.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/arrows_both.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/arrows_down.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/arrows_down_dr.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/arrows_right.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/arrows_right_dr.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/arrows_up.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/add_btn_icon.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/bkg_btn-close2.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/btn_add-image_icon.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/btn_add-widget_icon.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/btn_go.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/btn_save_icon.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/btn_show-hide_icon.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/cancel_btn_icon.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/entry_edit_head_arrow_down.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/entry_edit_head_arrow_down2.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/entry_edit_head_arrow_up.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/error-msg.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/error_msg_icon.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/icon_btn_add.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/module.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/more_arrow.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/reload.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/icons/save_btn_icon.gif
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/mgcommerce-logo.png
ADDED
Binary file
|
skin/adminhtml/base/default/modulesgardenbase/img/modulesgarden.png
ADDED
Binary file
|