Firebear_GitHub - Version 1.0.0

Version Notes

* First release

Download this release

Release Info

Developer Firebear studio
Extension Firebear_GitHub
Version 1.0.0
Comparing to
See all releases


Version 1.0.0

app/code/community/Firebear/GitHub/.DS_Store ADDED
Binary file
app/code/community/Firebear/GitHub/Block/Adminhtml/System/Config/Form/.DS_Store ADDED
Binary file
app/code/community/Firebear/GitHub/Block/Adminhtml/System/Config/Form/Button.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Firebear GitHub Connect Module
4
+ *
5
+ * @category Firebear
6
+ * @package Firebear_GitHub
7
+ * @copyright Copyright (c) 2014 Firebear
8
+ * @author biotech (Hlupko Viktor)
9
+ */
10
+
11
+ /**
12
+ *
13
+ *
14
+ * @category Firebear
15
+ * @package Firebear_GitHub
16
+ */
17
+
18
+ class Firebear_GitHub_Block_Adminhtml_System_Config_Form_Button extends Mage_Adminhtml_Block_System_Config_Form_Field
19
+ {
20
+ /*
21
+ * Set template
22
+ */
23
+ protected function _construct()
24
+ {
25
+ parent::_construct();
26
+ $this->setTemplate('firebear/github/system/config/button.phtml');
27
+ }
28
+
29
+ /**
30
+ * Return element html
31
+ *
32
+ * @param Varien_Data_Form_Element_Abstract $element
33
+ * @return string
34
+ */
35
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
36
+ {
37
+ return $this->_toHtml();
38
+ }
39
+
40
+ /**
41
+ * Generate button html
42
+ *
43
+ * @return string
44
+ */
45
+ public function getButtonHtml()
46
+ {
47
+ $button = $this->getLayout()->createBlock('adminhtml/widget_button')
48
+ ->setData(array(
49
+ 'id' => 'github_button',
50
+ 'label' => $this->helper('adminhtml')->__('Install extension'),
51
+ 'onclick' => 'javascript:check(); return false;'
52
+ ));
53
+
54
+ return $button->toHtml();
55
+ }
56
+
57
+ }
app/code/community/Firebear/GitHub/Block/Adminhtml/System/Config/Form/Install.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Firebear GitHub Connect Module
4
+ *
5
+ * @category Firebear
6
+ * @package Firebear_GitHub
7
+ * @copyright Copyright (c) 2014 Firebear
8
+ * @author biotech (Hlupko Viktor)
9
+ */
10
+
11
+ /**
12
+ *
13
+ *
14
+ * @category Firebear
15
+ * @package Firebear_GitHub
16
+ */
17
+
18
+ class Firebear_GitHub_Block_Adminhtml_System_Config_Form_Install extends Mage_Adminhtml_Block_System_Config_Form_Field
19
+ {
20
+ /*
21
+ * Set template
22
+ */
23
+ protected function _construct()
24
+ {
25
+ parent::_construct();
26
+ $this->setTemplate('firebear/github/system/config/install.phtml');
27
+ }
28
+
29
+ /**
30
+ * Return element html
31
+ *
32
+ * @param Varien_Data_Form_Element_Abstract $element
33
+ * @return string
34
+ */
35
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
36
+ {
37
+ return $this->_toHtml();
38
+ }
39
+
40
+ /**
41
+ * Generate button html
42
+ *
43
+ * @return string
44
+ */
45
+ public function getButtonHtml()
46
+ {
47
+ $button = $this->getLayout()->createBlock('adminhtml/widget_button')
48
+ ->setData(array(
49
+ 'id' => 'github_button',
50
+ 'label' => $this->helper('adminhtml')->__('Install extension'),
51
+ 'onclick' => 'javascript:check(); return false;'
52
+ ));
53
+
54
+ return $button->toHtml();
55
+ }
56
+
57
+ }
app/code/community/Firebear/GitHub/Block/Adminhtml/System/Config/Form/Uninstall.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Firebear GitHub Connect Module
4
+ *
5
+ * @category Firebear
6
+ * @package Firebear_GitHub
7
+ * @copyright Copyright (c) 2014 Firebear
8
+ * @author biotech (Hlupko Viktor)
9
+ */
10
+
11
+ /**
12
+ *
13
+ *
14
+ * @category Firebear
15
+ * @package Firebear_GitHub
16
+ */
17
+
18
+ class Firebear_GitHub_Block_Adminhtml_System_Config_Form_Uninstall extends Mage_Adminhtml_Block_System_Config_Form_Field
19
+ {
20
+ /*
21
+ * Set template
22
+ */
23
+ protected function _construct()
24
+ {
25
+ parent::_construct();
26
+ $this->setTemplate('firebear/github/system/config/uninstall.phtml');
27
+ }
28
+
29
+ /**
30
+ * Return element html
31
+ *
32
+ * @param Varien_Data_Form_Element_Abstract $element
33
+ * @return string
34
+ */
35
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
36
+ {
37
+ return $this->_toHtml();
38
+ }
39
+
40
+ /**
41
+ * Generate button html
42
+ *
43
+ * @return string
44
+ */
45
+ public function getButtonHtml()
46
+ {
47
+ $button = $this->getLayout()->createBlock('adminhtml/widget_button')
48
+ ->setData(array(
49
+ 'id' => 'github_button',
50
+ 'label' => $this->helper('adminhtml')->__('UnInstall extension'),
51
+ 'onclick' => 'javascript:check(); return false;'
52
+ ));
53
+
54
+ return $button->toHtml();
55
+ }
56
+
57
+ }
app/code/community/Firebear/GitHub/Helper/.DS_Store ADDED
Binary file
app/code/community/Firebear/GitHub/Helper/Data.php ADDED
@@ -0,0 +1,321 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Firebear GitHub Connect Module
4
+ *
5
+ * @category Firebear
6
+ * @package Firebear_GitHub
7
+ * @copyright Copyright (c) 2013 Firebear
8
+ * @author biotech (Hlupko Viktor)
9
+ */
10
+
11
+ /**
12
+ *
13
+ *
14
+ * @category Firebear
15
+ * @package Firebear_GitHub
16
+ */
17
+ class Firebear_GitHub_Helper_Data extends Mage_Core_Helper_Abstract
18
+ {
19
+
20
+ /* helper functions */
21
+ function GitInstall($repo){
22
+
23
+ if (!strstr(mb_substr($repo, -1),'/')){
24
+ $repo .= "/";
25
+ }
26
+
27
+ $url = $repo.'archive/master.zip';
28
+
29
+ $parts = explode('/', $url);
30
+
31
+ $repo_author = $parts[3];
32
+
33
+ /*if (strstr($repo_author, "magento")){
34
+ if (!strstr($repo_author, "magento-hackathon")){
35
+ Mage::getSingleton('adminhtml/session')->addError("Here is no Magento extension in this repository!");
36
+ return false;
37
+ }
38
+ }*/
39
+
40
+ $repo_name = $parts[4];
41
+
42
+ $var = Mage::getBaseDir().'/var/github';
43
+
44
+ if (!file_exists(Mage::getBaseDir().'/var/github')){
45
+ mkdir($var, 0777);
46
+ }
47
+
48
+ $file = $var.'/'.$repo_name.'.zip';
49
+
50
+ //echo $repo_author.'/'.$repo_name; die();
51
+
52
+
53
+ //echo file_get_contents($outputfile);
54
+
55
+ ini_set("allow_url_fopen", 1);
56
+
57
+ //file_put_contents($file, fopen($url, 'r'));
58
+
59
+ /* Download branch master of repo in zip */
60
+
61
+ set_time_limit(0);
62
+ $fp = fopen ($file, 'w+');//This is the file where we save the information
63
+ $ch = curl_init(str_replace(" ","%20",$url));//Here is the file we are downloading, replace spaces with %20
64
+ curl_setopt($ch, CURLOPT_TIMEOUT, 50);
65
+ curl_setopt($ch, CURLOPT_FILE, $fp); // write curl response to file
66
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
67
+ curl_exec($ch); // get curl response
68
+ curl_close($ch);
69
+ fclose($fp);
70
+
71
+
72
+ //file_put_contents($file, file_get_contents($url)); // var/github folder should exist before!!!
73
+
74
+
75
+
76
+ $app_patch = Mage::getBaseDir().'/'; // get magento root folder here!
77
+ $path = pathinfo(realpath($file), PATHINFO_DIRNAME);
78
+ $folder = $repo_name."-master";
79
+ $orig_content = $path.'/'.$folder;
80
+
81
+ //echo $orig_content;
82
+
83
+ //echo $path; die();
84
+
85
+ $zip = new ZipArchive;
86
+ $res = $zip->open($file);
87
+
88
+ if ($res === TRUE)
89
+ {
90
+
91
+ $zip->extractTo($path);
92
+ $zip->close();
93
+ //echo "WOOT! $file extracted to $path <br />";
94
+
95
+
96
+ //print_r(Mage::helper('github')->listFolderFiles($orig_content));
97
+
98
+ //die();
99
+
100
+ } else {
101
+ Mage::getSingleton('adminhtml/session')->addError("Error in extension unzip, please check folder access permissions!");
102
+ return false;
103
+ //echo "Doh! I couldn't open $file <br />";
104
+
105
+ }
106
+
107
+ //die();
108
+ //echo get_class($zip)
109
+
110
+ //die();
111
+ /* debug */
112
+ /*echo $orig;
113
+ echo '<br />';
114
+ echo $path;
115
+ echo '<br />';
116
+ echo $file;*/
117
+
118
+ //echo $orig_content;
119
+
120
+ if (file_exists($orig_content.'/app') || file_exists($orig_content.'/src')){
121
+
122
+ if (file_exists($orig_content.'/src')){
123
+ $orig_content .= '/src';
124
+ }
125
+
126
+ /*if (Mage::helper('github')->modmanCopy($orig_content, $orig_content)){
127
+ $modman = true;
128
+ }else{
129
+ $modman = false;
130
+ }*/
131
+
132
+ /* install */
133
+
134
+ //if (shell_exec("rsync -aizP --exclude '.gitattributes' --exclude 'LICENSE' --exclude 'MIT-LICENSE.txt' --exclude 'LICENSE_OSL.txt' --exclude '.gitignore' --exclude 'README.md' --exclude 'composer.json' $orig_content/* $app_patch/")){
135
+ //echo $repo_author.'_'.$repo_name.' be installed';
136
+
137
+ if (file_exists($orig_content."/.gitattributes")) unlink($orig_content."/.gitattributes");
138
+ if (file_exists($orig_content."/LICENSE")) unlink($orig_content."/LICENSE");
139
+ if (file_exists($orig_content."/MIT-LICENSE.txt")) unlink($orig_content."/MIT-LICENSE.txt");
140
+ if (file_exists($orig_content."/LICENSE_OSL.txt.md")) unlink($orig_content."/LICENSE_OSL.txt.md");
141
+ if (file_exists($orig_content."/.gitignore")) unlink($orig_content."/.gitignore");
142
+ if (file_exists($orig_content."/composer.json")) unlink($orig_content."/composer.json");
143
+ if (file_exists($orig_content."/modman")) unlink($orig_content."/modman");
144
+ if (file_exists($orig_content."/README.md")) unlink($orig_content."/README.md");
145
+
146
+
147
+ //echo $app_patch;
148
+ //die();
149
+
150
+ $owner = fileowner($app_patch."app");
151
+ chown($app_patch."app", "nobody");
152
+
153
+ chmod($app_patch."app", 0777);
154
+ chmod($app_patch."app/etc/modules", 0777);
155
+ chmod($app_patch."app/code/community", 0777);
156
+ chmod($app_patch."app/code/local", 0777);
157
+ chmod($app_patch."app/design/frontend", 0777);
158
+ chmod($app_patch."app/design/frontend/base", 0777);
159
+ chmod($app_patch."app/design/frontend/base/default", 0777);
160
+ chmod($app_patch."app/design/frontend/base/default/etc", 0777);
161
+ chmod($app_patch."app/design/frontend/base/default/layout", 0777);
162
+ chmod($app_patch."app/design/frontend/base/default/template", 0777);
163
+ chmod($app_patch."app/design/frontend/base/default/locale", 0777);
164
+ chmod($app_patch."app/design/frontend/default", 0777);
165
+ chmod($app_patch."app/design/frontend/default/default", 0777);
166
+ chmod($app_patch."app/design/frontend/default/default/etc", 0777);
167
+ chmod($app_patch."app/design/frontend/default/default/layout", 0777);
168
+ chmod($app_patch."app/design/frontend/default/default/template", 0777);
169
+ chmod($app_patch."app/design/frontend/default/default/locale", 0777);
170
+ chmod($app_patch."app/design/adminhtml", 0777);
171
+ chmod($app_patch."app/design/adminhtml/default", 0777);
172
+ chmod($app_patch."app/design/adminhtml/default/default", 0777);
173
+ chmod($app_patch."app/design/adminhtml/default/default/etc", 0777);
174
+ chmod($app_patch."app/design/adminhtml/default/default/layout", 0777);
175
+ chmod($app_patch."app/design/adminhtml/default/default/template", 0777);
176
+ chmod($app_patch."app/design/adminhtml/default/default/locale", 0777);
177
+ chmod($app_patch."skin/frontend", 0777);
178
+ chmod($app_patch."skin/frontend", 0777);
179
+ chmod($app_patch."skin/adminhtml", 0777);
180
+ chmod($app_patch."lib", 0777);
181
+ chmod($app_patch."js", 0777);
182
+
183
+ Mage::helper('github')->cpy($orig_content."/", $app_patch);
184
+
185
+ Mage::getSingleton('adminhtml/session')->addSuccess('Extension <b>'.$repo_author.'_'.$repo_name. '</b> installed!');
186
+
187
+ //echo $orig_content.'/modman'; echo '<br />';
188
+ //echo $orig_content.'app/etc/uninstall.txt'; die();
189
+
190
+ /*if ($modman){
191
+ Mage::getSingleton('adminhtml/session')->addSuccess('This extension can be fully and safe deleted with MageTrashApp.');
192
+ }else{
193
+ Mage::getSingleton('adminhtml/session')->addSuccess('This extension not can be deleted with MageTrashApp, because here is no modman file.');
194
+ }*/
195
+
196
+ try {
197
+ $allTypes = Mage::app()->useCache();
198
+ foreach($allTypes as $type => $blah) {
199
+ Mage::app()->getCacheInstance()->cleanType($type);
200
+ }
201
+ Mage::getSingleton('adminhtml/session')->addSuccess('Magento cache cleaned.');
202
+ } catch (Exception $e) {
203
+ error_log($e->getMessage());
204
+ }
205
+
206
+ Mage::getSingleton('adminhtml/session')->addSuccess('Please <a href="'.Mage::helper('adminhtml')->getUrl('/index/logout').'">log out</a> from Magento admin and then log in back for work with new extension!');
207
+
208
+ chown($app_patch."app", $owner);
209
+
210
+ chmod($app_patch."app", 0755);
211
+ chmod($app_patch."app/etc/modules", 0755);
212
+ chmod($app_patch."app/code/community", 0755);
213
+ chmod($app_patch."app/code/local", 0755);
214
+ chmod($app_patch."app/design/frontend", 0755);
215
+ chmod($app_patch."app/design/frontend/base", 0755);
216
+ chmod($app_patch."app/design/frontend/base/default", 0755);
217
+ chmod($app_patch."app/design/frontend/base/default/etc", 0755);
218
+ chmod($app_patch."app/design/frontend/base/default/layout", 0755);
219
+ chmod($app_patch."app/design/frontend/base/default/template", 0755);
220
+ chmod($app_patch."app/design/frontend/base/default/locale", 0755);
221
+ chmod($app_patch."app/design/frontend/default", 0755);
222
+ chmod($app_patch."app/design/frontend/default/default", 0755);
223
+ chmod($app_patch."app/design/frontend/default/default/etc", 0755);
224
+ chmod($app_patch."app/design/frontend/default/default/layout", 0755);
225
+ chmod($app_patch."app/design/frontend/default/default/template", 0755);
226
+ chmod($app_patch."app/design/frontend/default/default/locale", 0755);
227
+ chmod($app_patch."app/design/adminhtml", 0755);
228
+ chmod($app_patch."app/design/adminhtml/default", 0755);
229
+ chmod($app_patch."app/design/adminhtml/default/default", 0755);
230
+ chmod($app_patch."app/design/adminhtml/default/default/etc", 0755);
231
+ chmod($app_patch."app/design/adminhtml/default/default/layout", 0755);
232
+ chmod($app_patch."app/design/adminhtml/default/default/template", 0755);
233
+ chmod($app_patch."app/design/adminhtml/default/default/locale", 0755);
234
+ chmod($app_patch."skin/frontend", 0755);
235
+ chmod($app_patch."skin/frontend", 0755);
236
+ chmod($app_patch."skin/adminhtml", 0755);
237
+ chmod($app_patch."lib", 0755);
238
+ chmod($app_patch."js", 0755);
239
+
240
+ return true;
241
+
242
+ }else{
243
+ Mage::getSingleton('adminhtml/session')->addError("Here is no Magento extension in this repository!");
244
+ return false;
245
+ }
246
+
247
+ }
248
+
249
+
250
+ public function modmanCopy($dir, $orig_content){
251
+
252
+ $dir .= '/';
253
+
254
+ $ffs = scandir($dir);
255
+
256
+ $i = 0;
257
+ $list = array();
258
+
259
+ $app = '';
260
+ $path='';
261
+
262
+ foreach ( $ffs as $ff ){
263
+ if ( $ff != '.' && $ff != '..' ){
264
+ $list[] = $ff;
265
+ if (strstr("config.xml", $ff)){
266
+
267
+ $path = $dir;
268
+
269
+ Mage::helper('github')->modmanCopyAction($orig_content, $path);
270
+ }
271
+ if( is_dir($dir.'/'.$ff) )
272
+ Mage::helper('github')->modmanCopy($dir.'/'.$ff, $orig_content);
273
+ }
274
+ }
275
+ return $list;
276
+ }
277
+
278
+
279
+ public function modmanCopyAction($orig_content, $path){
280
+
281
+ //echo $path;
282
+ //echo $orig_content.'/modman';
283
+ //echo "<br />";
284
+ //echo $path.'/uninstall.txt';
285
+
286
+ if (copy($orig_content.'/modman', $path.'/uninstall.txt')){
287
+ return true;
288
+ }else{
289
+ return false;
290
+ }
291
+ //echo $path;
292
+ }
293
+
294
+ public function cpy($source, $dest){
295
+
296
+ // 777 make for app, skin, lib ... and then back to 755
297
+
298
+ if(is_dir($source)) {
299
+ $dir_handle=opendir($source);
300
+ while($file=readdir($dir_handle)){
301
+ if($file!="." && $file!=".."){
302
+ if(is_dir($source."/".$file)){
303
+ mkdir($dest."/".$file);
304
+ Mage::helper('github')->cpy($source."/".$file, $dest."/".$file);
305
+ } else {
306
+ if (!copy(str_replace("///", "/", $source."/".$file), str_replace("///", "/", $dest."/".$file))){
307
+ Mage::getSingleton('adminhtml/session')->addError("Error in extension install process, please check folders permissions!");
308
+ }
309
+ }
310
+ }
311
+ }
312
+ closedir($dir_handle);
313
+ } else {
314
+ copy($source, $dest);
315
+ }
316
+ }
317
+
318
+
319
+
320
+
321
+ }
app/code/community/Firebear/GitHub/controllers/Adminhtml/GithubController.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Firebear GitHub Connect Module
4
+ *
5
+ * @category Firebear
6
+ * @package Firebear_GitHub
7
+ * @copyright Copyright (c) 2014 Firebear
8
+ * @author biotech (Hlupko Viktor)
9
+ */
10
+
11
+ /**
12
+ *
13
+ *
14
+ * @category Firebear
15
+ * @package Firebear_GitHub
16
+ */
17
+
18
+ class Firebear_GitHub_Adminhtml_GithubController extends Mage_Adminhtml_Controller_Action
19
+ {
20
+
21
+ public function installAction()
22
+ {
23
+ $url = $this->getRequest()->getPost("git_url");
24
+
25
+ $result = Mage::helper('github')->GitInstall($url);
26
+
27
+ Mage::app()->getResponse()->setBody(1);
28
+
29
+ }
30
+
31
+ }
app/code/community/Firebear/GitHub/controllers/IndexController.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Firebear GitHub Connect Module
4
+ *
5
+ * @category Firebear
6
+ * @package Firebear_GitHub
7
+ * @copyright Copyright (c) 2014 Firebear
8
+ * @author biotech (Hlupko Viktor)
9
+ */
10
+
11
+ /**
12
+ *
13
+ *
14
+ * @category Firebear
15
+ * @package Firebear_GitHub
16
+ */
17
+
18
+ class Firebear_GitHub_IndexController extends Mage_Core_Controller_Front_Action
19
+ {
20
+
21
+ public function indexAction(){
22
+
23
+ Mage::helper('github')->GitInstall('https://github.com/GordonLesti/Lesti_Fpc');
24
+ //Mage::helper('github')->listFolderFiles('/var/github/Lesti_Fpc-master');
25
+
26
+
27
+ }
28
+
29
+ }
30
+ ?>
app/code/community/Firebear/GitHub/etc/adminhtml.xml ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <acl>
4
+ <resources>
5
+ <all>
6
+ <title>Allow Everything</title>
7
+ </all>
8
+ <admin>
9
+ <children>
10
+ <system>
11
+ <children>
12
+ <config>
13
+ <children>
14
+ <github translate="title" module="github">
15
+ <title>Connect for GitHub</title>
16
+ </github>
17
+ </children>
18
+ </config>
19
+ </children>
20
+ </system>
21
+ </children>
22
+ </admin>
23
+ </resources>
24
+ </acl>
25
+ </config>
app/code/community/Firebear/GitHub/etc/config.xml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Firebear_GitHub>
5
+ <version>0.0.1</version>
6
+ </Firebear_GitHub>
7
+ </modules>
8
+ <global>
9
+ <helpers>
10
+ <github>
11
+ <class>Firebear_GitHub_Helper</class>
12
+ </github>
13
+ </helpers>
14
+ <blocks>
15
+ <github>
16
+ <class>Firebear_GitHub_Block</class>
17
+ </github>
18
+ </blocks>
19
+ <models>
20
+ <github>
21
+ <class>Firebear_GitHub_Model</class>
22
+ </github>
23
+ </models>
24
+ </global>
25
+ <frontend>
26
+ <routers>
27
+ <github>
28
+ <use>standard</use>
29
+ <args>
30
+ <module>Firebear_GitHub</module>
31
+ <frontName>github</frontName>
32
+ </args>
33
+ </github>
34
+ </routers>
35
+ </frontend>
36
+ <admin>
37
+ <routers>
38
+ <adminhtml>
39
+ <args>
40
+ <modules>
41
+ <github after="Mage_Adminhtml">Firebear_GitHub</github>
42
+ </modules>
43
+ </args>
44
+ </adminhtml>
45
+ </routers>
46
+ </admin>
47
+ <!--<adminhtml>
48
+ <layout>
49
+ <updates>
50
+ <adminhtml>
51
+ <file>Firebear_GitHub_admin.xml</file>
52
+ </adminhtml>
53
+ </updates>
54
+ </layout>
55
+ </adminhtml>-->
56
+ <!--<default>
57
+ <Firebear_GitHub>
58
+ <general>
59
+ <enabled>1</enabled>
60
+ </general>
61
+ </Firebear_GitHub>
62
+ </default>-->
63
+ </config>
app/code/community/Firebear/GitHub/etc/system.xml ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+
4
+ <tabs>
5
+ <Firebear translate="label">
6
+ <label>Firebear</label>
7
+ <sort_order>220</sort_order>
8
+ </Firebear>
9
+ </tabs>
10
+
11
+ <sections>
12
+ <github translate="label" module="github">
13
+ <label>Connect for GitHub</label>
14
+ <tab>Firebear</tab>
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
+ <sort_order>1000</sort_order>
19
+ <groups>
20
+
21
+ <url translate="label">
22
+ <label>Install extension from GitHub repository URL</label>
23
+ <frontend_type>text</frontend_type>
24
+ <show_in_default>1</show_in_default>
25
+ <show_in_website>1</show_in_website>
26
+ <show_in_store>0</show_in_store>
27
+ <sort_order>1</sort_order>
28
+ <fields>
29
+
30
+ <git_url translate="label">
31
+ <label>URL</label>
32
+ <frontend_type>text</frontend_type>
33
+ <sort_order>20</sort_order>
34
+ <show_in_default>1</show_in_default>
35
+ <show_in_website>1</show_in_website>
36
+ <show_in_store>0</show_in_store>
37
+ <comment><![CDATA[ <a href="https://github.com/" target="_blank">GitHub</a> repository URL. You can find any Magento extension on GitHub and just copy/paste here is repository URL for one click install! Repository URL must looks like "https://github.com/Authorname/Modulename" without any additional parameters in URL! <br /> If you get error in extension install process, please check you folders permissions, it should be 755 for folders, <a href="https://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions" target="_blank">more details</a>]]></comment>
38
+ </git_url>
39
+
40
+
41
+ <check translate="label">
42
+ <label></label>
43
+ <frontend_type>button</frontend_type>
44
+ <frontend_model>github/adminhtml_system_config_form_button</frontend_model>
45
+ <sort_order>40</sort_order>
46
+ <show_in_default>1</show_in_default>
47
+ <show_in_website>1</show_in_website>
48
+ <show_in_store></show_in_store>
49
+ <comment><![CDATA[]]></comment>
50
+ </check>
51
+
52
+ </fields>
53
+ </url>
54
+
55
+ <speed translate="label">
56
+ <label>Recommended, must have and best Magento extensions on GitHub</label>
57
+ <frontend_type>text</frontend_type>
58
+ <show_in_default>1</show_in_default>
59
+ <show_in_website>1</show_in_website>
60
+ <show_in_store>0</show_in_store>
61
+ <sort_order>2</sort_order>
62
+ <fields>
63
+
64
+ <install translate="label">
65
+ <label></label>
66
+ <frontend_type>button</frontend_type>
67
+ <frontend_model>github/adminhtml_system_config_form_install</frontend_model>
68
+ <sort_order>40</sort_order>
69
+ <show_in_default>1</show_in_default>
70
+ <show_in_website>1</show_in_website>
71
+ <show_in_store></show_in_store>
72
+
73
+ </install>
74
+
75
+ </fields>
76
+ </speed>
77
+
78
+ <uinstall translate="label">
79
+ <label>Extensions deactivation</label>
80
+ <frontend_type>text</frontend_type>
81
+ <show_in_default>1</show_in_default>
82
+ <show_in_website>1</show_in_website>
83
+ <show_in_store>0</show_in_store>
84
+ <sort_order>3</sort_order>
85
+ <fields>
86
+
87
+ <uninstall translate="label">
88
+ <label></label>
89
+ <frontend_type>button</frontend_type>
90
+ <frontend_model>github/adminhtml_system_config_form_uninstall</frontend_model>
91
+ <sort_order>40</sort_order>
92
+ <show_in_default>1</show_in_default>
93
+ <show_in_website>1</show_in_website>
94
+ <show_in_store></show_in_store>
95
+
96
+ </uninstall>
97
+
98
+ </fields>
99
+ </uinstall>
100
+
101
+ </groups>
102
+ </github>
103
+ </sections>
104
+ </config>
app/design/adminhtml/default/default/template/firebear/github/system/config/button.phtml ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript">
2
+ //<![CDATA[
3
+ function check() {
4
+ new Ajax.Request('<?php echo Mage::helper('adminhtml')->getUrl('adminhtml/adminhtml_github/install') ?>', {
5
+ method: 'post',
6
+ parameters: {git_url: $$('#github_url_git_url')[0].value},
7
+ onSuccess: function(transport){
8
+
9
+ console.log(transport.responseText);
10
+
11
+ if (transport.responseText == 1){
12
+ window.location.reload();
13
+ }else{
14
+ alert("Error");
15
+ console.log(transport.responseText);
16
+ }
17
+ }
18
+ });
19
+ }
20
+ //]]>
21
+ </script>
22
+
23
+ <?php echo $this->getButtonHtml() ?>
app/design/adminhtml/default/default/template/firebear/github/system/config/install.phtml ADDED
@@ -0,0 +1,207 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript">
2
+ //<![CDATA[
3
+ function install(url) {
4
+
5
+ var url = url;
6
+
7
+ new Ajax.Request('<?php echo Mage::helper('adminhtml')->getUrl('adminhtml/adminhtml_github/install') ?>', {
8
+ method: 'post',
9
+ parameters: {git_url: url},
10
+ onSuccess: function(transport){
11
+
12
+ console.log(transport.responseText);
13
+
14
+ if (transport.responseText == 1){
15
+ window.location.reload();
16
+ }else{
17
+ alert("Error");
18
+ console.log(transport.responseText);
19
+ }
20
+ }
21
+ });
22
+ }
23
+ //]]>
24
+ </script>
25
+
26
+ <style>
27
+ .form-list td.value p.note {
28
+ width: 774px;;
29
+ }
30
+ </style>
31
+
32
+ <p class="note"><span>Here you can install just with one click last versions of best free open source Magento extensions hosted on GitHub grouped by categories. Please read description and manual on GitHub or extension web site before install and use!<br /></span></p><br />
33
+
34
+
35
+ <div class="section-config"><div class="entry-edit-head collapseable">
36
+
37
+ <a id="github_pf-head" href="#" onclick="Fieldset.toggleCollapse('github_pf', '#'); return false;" class="">Performance, load speed optimisation</a>
38
+ </div>
39
+
40
+ <input id="github_pf-state" name="config_state[github_pf]" type="hidden" value="0">
41
+ <fieldset class="config collapseable" id="github_pf" style="display: none;">
42
+
43
+ <p><h3>Lest Full page cache</h3> (<a href="http://github.com/GordonLesti/Lesti_Fpc" target="_blank">GitHub</a> | <a href="http://gordonlesti.com/lestifpc/" target="_blank">WebSite / Manual</a>)
44
+ <p class="note"><span>Absolutely must have, best free full page cache extension! Lesti::Fpc is internal full page cache for Magento. This Cache needs no varnish or any other extenal software and works with events. It is an internal cache and so it replaces dynamic blocks before sending response to customer.</span></p>
45
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/GordonLesti/Lesti_Fpc'); return false;" style=""><span><span><span>Install Lesti::FPC</span></span></span></button></p>
46
+
47
+ <p><h3>Fooman Speedster</h3> (<a href="http://github.com/fooman/speedster/" target="_blank">GitHub</a> | <a href="http://store.fooman.co.nz/magento-extension-speedster.html" target="_blank">WebSite / Manual</a>)
48
+ <p class="note"><span>Absolutely must have, Speed up your store by combining, compressing and caching Javascript and CSS files.ombines multiple Javascript and CSS files into a single Javascript file and single CSS file, to enable faster page load times. Reduces the total size of files to be loaded as well as the number of HTTP requests, for empty and primed caches.Fully automated once installed, with automatic versioning when Javascript/CSS files are updated.</span></p>
49
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/fooman/speedster/'); return false;" style=""><span><span><span>Install Fooman Speedster</span></span></span></button></p>
50
+
51
+ <p><h3>Magento Varnish</h3> (<a href="http://github.com/huguesalary/Magento-Varnish" target="_blank">GitHub</a>)
52
+ <p class="note"><span>This Magento extension provides a Real Full Page Caching (FPC) for Magento powered by Varnish with support of Session-Based information caching (Cart, Customer Accounts, ...) via ESI includes. Tired of fake Full Page Cache Magento extensions? Tired of these extensions promising to make your website fly, shooting to the stars, but barely reaching sea level? This extension is for you.</span></p>
53
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/huguesalary/Magento-Varnish'); return false;" style=""><span><span><span>Install Magento Varnish</span></span></span></button></p>
54
+
55
+ <p><h3>Turpentine Extension (Varnish) for Magento</h3> (<a href="http://github.com/nexcess/magento-turpentine" target="_blank">GitHub</a> | <a href="http://github.com/nexcess/magento-turpentine/wiki" target="_blank">WebSite / Manual</a>)
56
+ <p class="note"><span>Turpentine is a full page cache extension for Magento that works with Varnish, a very fast caching reverse-proxy. By default, Varnish doesn't cache requests with cookies and Magento sends the frontend cookie with every request causing a (near) zero hit-rate for Varnish's cache. Turpentine configures Varnish to work with Magento and modifies Magento's behaviour to significantly improve the cache hit rate.</span></p>
57
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/nexcess/magento-turpentine'); return false;" style=""><span><span><span>Install Turpentine</span></span></span></button></p>
58
+
59
+
60
+
61
+ </fieldset>
62
+
63
+ </div>
64
+
65
+
66
+ <div class="section-config"><div class="entry-edit-head collapseable">
67
+
68
+ <a id="github_cat-head" href="#" onclick="Fieldset.toggleCollapse('github_cat', '#'); return false;" class="">Catalog - products, categories</a>
69
+ </div>
70
+
71
+ <input id="github_cat-state" name="config_state[github_cat]" type="hidden" value="0">
72
+ <fieldset class="config collapseable" id="github_cat" style="display: none;">
73
+
74
+ <p><h3>Simple Configurable Products </h3> (<a href="http://github.com/organicinternet/magento-configurable-simple" target="_blank">GitHub</a> | <a href="http://www.magentocommerce.com/magento-connect/simple-configurable-products.html" target="_blank">WebSite / Manual</a>)
75
+ <p class="note"><span>This extension changes the way that the pricing of Configurable Products works in Magento. With Simple Configurable Products, the price for configurable products is taken directly from the associated simple products rather than the configurable product itself.This gives site owners direct control over the price of every individual configuration of a product, while still giving users the flexibility they usually get with configurable products.</span></p>
76
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/organicinternet/magento-configurable-simple'); return false;" style=""><span><span><span>Install Simple Configurable Products</span></span></span></button></p>
77
+
78
+ <p><h3>Customer Groups Catalog</h3> (<a href="http://github.com/Vinai/groupscatalog2" target="_blank">GitHub</a> | <a href="http://www.magentocommerce.com/magento-connect/customer-groups-catalog2.html" target="_blank">WebSite / Manual</a>)
79
+ <p class="note"><span>Magento extension to enable you to hide categories and products from customers depending on their customer group.</span></p>
80
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/Vinai/groupscatalog2'); return false;" style=""><span><span><span>Install Customer Groups Catalog</span></span></span></button></p>
81
+
82
+
83
+ <p><h3>Magento Sphinx catalog search</h3> (<a href="http://github.com/fheyer/sphinxsearch" target="_blank">GitHub / Manual</a>)
84
+ <p class="note"><span>This magento extension provides integration for Magento CE with a sphinx search server. Sphinx is a free software/open source Fulltext search engine designed to provide full-text search functionality to client applications.</span></p>
85
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/fheyer/sphinxsearch'); return false;" style=""><span><span><span>Install Sphinx catalog search</span></span></span></button></p>
86
+
87
+ <p><h3>Save stock movements</h3> (<a href="http://github.com/jreinke/magento-stock-movements" target="_blank">GitHub</a> | <a href="http://www.bubblecode.net/en/2012/02/07/magento-save-product-stock-moves/" target="_blank">WebSite / Manual</a>)
88
+ <p class="note"><span>Magento extension to save products stock movements.</span></p>
89
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/jreinke/magento-stock-movements'); return false;" style=""><span><span><span>Install Save stock movements</span></span></span></button></p>
90
+
91
+
92
+
93
+ </fieldset>
94
+
95
+ </div>
96
+
97
+
98
+ <div class="section-config"><div class="entry-edit-head collapseable">
99
+
100
+ <a id="github_cust-head" href="#" onclick="Fieldset.toggleCollapse('github_cust', '#'); return false;" class="">Customers experience</a>
101
+ </div>
102
+
103
+ <input id="github_cust-state" name="config_state[github_cust]" type="hidden" value="0">
104
+ <fieldset class="config collapseable" id="github_cust" style="display: none;">
105
+
106
+ <p><h3>Inchoo Social Connect</h3> (<a href="http://github.com/Marko-M/Inchoo_SocialConnect" target="_blank">GitHub</a> | <a href="http://inchoo.net/ecommerce/magento/social-connect-magento-extension/" target="_blank">WebSite / Manual</a>)
107
+ <p class="note"><span>Inchoo_SocialConnect is a Magento extension allowing your customers to login or create an account at your store using their Google, Facebook or Twitter account. More easy way for create you customers accounts - more sales & better conversion!</span></p>
108
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/Marko-M/Inchoo_SocialConnect'); return false;" style=""><span><span><span>Install Inchoo Social Connect</span></span></span></button></p>
109
+
110
+ <p><h3>Customer Activation</h3> (<a href="http://github.com/Vinai/customer-activation" target="_blank">GitHub</a> | <a href="http://www.magentocommerce.com/magento-connect/customer-activation.html" target="_blank">WebSite / Manual</a>)
111
+ <p class="note"><span>This small extension makes it impossible for a customer to log in to magento, until the account has been activated in the adminhtml interface: Customers > Manage Customers > (select customer) > Account Information > Is activated</span></p>
112
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/Vinai/customer-activation'); return false;" style=""><span><span><span>Install Customer Activation</span></span></span></button></p>
113
+
114
+ <p><h3>Customer Groups Catalog</h3> (<a href="http://github.com/Vinai/groupscatalog2" target="_blank">GitHub</a> | <a href="http://www.magentocommerce.com/magento-connect/customer-groups-catalog2.html" target="_blank">WebSite / Manual</a>)
115
+ <p class="note"><span>Magento extension to enable you to hide categories and products from customers depending on their customer group.</span></p>
116
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/Vinai/groupscatalog2'); return false;" style=""><span><span><span>Install Customer Groups Catalog</span></span></span></button></p>
117
+
118
+ </fieldset>
119
+
120
+ </div>
121
+
122
+
123
+ <div class="section-config"><div class="entry-edit-head collapseable">
124
+
125
+ <a id="github_design-head" href="#" onclick="Fieldset.toggleCollapse('github_design', '#'); return false;" class="">UI, templates, frontend</a>
126
+ </div>
127
+
128
+ <input id="github_design-state" name="config_state[github_design]" type="hidden" value="0">
129
+ <fieldset class="config collapseable" id="github_design" style="display: none;">
130
+
131
+ <p><h3>Magento HTML5 Responsive Theme Boilerplate </h3> (<a href="http://github.com/zeljkoprsa/waterlee-boilerplate" target="_blank">GitHub | <a href="http://jakesharp.uservoice.com/knowledgebase/articles/245052-intro-to-waterlee" target="_blank">WebSite / Manual</a>)
132
+ <p class="note"><span>Adapting the site to the plethora of devices is a battle inside itself. Win it constantly by using built-in classes and media queries and build upon that with your own customized code. Checkout the demo: It's pretty ugly but you know better than to expect a boilerplate to be good looking, right? http://waterlee.jakesharp.co</span></p>
133
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/zeljkoprsa/waterlee-boilerplate'); return false;" style=""><span><span><span>Install Boilerplate</span></span></span></button></p>
134
+
135
+ <p><h3>Magento Foundation 3 Framework / Responsive Theme</h3> (<a href="http://github.com/nandroid/MagentoFoundation" target="_blank">GitHub | <a href="http://www.magentocommerce.com/magento-connect/catalog/product/view/id/16399/" target="_blank">WebSite / Manual</a>)
136
+ <p class="note"><span>Foundation 3 Framework for Magento 1.7. Foundation styles and libraries. Magento Responsive theme. Off-canvas Left-Right sidebar columns for mobile.
137
+ http://magendation.internetized.net/</span></p>
138
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/nandroid/MagentoFoundation'); return false;" style=""><span><span><span>Install Foundation</span></span></span></button></p>
139
+
140
+ <p><h3>GPMD Magento Responsive Theme</h3> (<a href="http://github.com/gpmd/magento-responsive-theme" target="_blank">GitHub | <a href="http://github.com/gpmd/magento-responsive-theme" target="_blank">WebSite / Manual</a>)
141
+ <p class="note"><span>The GPMD responsive Magento theme is a simple fluid base theme which can be easily used as a starting point for your projects. The styling has been kept purposely simple so it's easy to override. It's based on the base/default theme (with the demo store content), and has only a few template overrides to make the markup suitable for a responsive site. It combines elements from Mobile Boilerplate, Gridless and semantic.gs. It also includes the excellent Font Awesome icon font</span></p>
142
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/gpmd/magento-responsive-theme'); return false;" style=""><span><span><span>Install GPMD</span></span></span></button></p>
143
+
144
+ <p><h3>0 Step Checkout </h3> (<a href="http://github.com/stalniy/0step-checkout" target="_blank">GitHub | <a href="http://www.magentocommerce.com/magento-connect/0-step-checkout.html" target="_blank">WebSite / Manual</a>)
145
+ <p class="note"><span>0 Step Checkout provide One Page Checkout functionality for Magento, combine all the steps for checkout (including shopping cart) into one page only. It will made the checkout process much simpler, the customers will enjoy buying products and your online sales will greatly increase. Why is it better?</span></p>
146
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/stalniy/0step-checkout'); return false;" style=""><span><span><span>Install 0 Step Checkout</span></span></span></button></p>
147
+
148
+ <p><h3>Magento Quick View Ajax Loader</h3> (<a href="http://github.com/czettnersandor/magento-quick-view-ajax" target="_blank">GitHub / Manual</a>)
149
+ <p class="note"><span>"Quick View Ajax Loader" is an extension for the product list page in your Magento online store. Let your customers see the details of the products in your store without leaving the category page.</span></p>
150
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/stalniy/0step-checkout'); return false;" style=""><span><span><span>Install Quick View Ajax Loader</span></span></span></button></p>
151
+
152
+
153
+
154
+ </fieldset>
155
+
156
+ </div>
157
+
158
+
159
+
160
+ <div class="section-config"><div class="entry-edit-head collapseable">
161
+
162
+ <a id="github_dev-head" href="#" onclick="Fieldset.toggleCollapse('github_dev', '#'); return false;" class="">Development, system, admin panel</a>
163
+ </div>
164
+
165
+ <input id="github_dev-state" name="config_state[github_dev]" type="hidden" value="0">
166
+ <fieldset class="config collapseable" id="github_dev" style="display: none;">
167
+
168
+ <p><h3>Mage Monitoring</h3> (<a href="http://github.com/magento-hackathon/Hackathon_MageMonitoring" target="_blank">GitHub</a>)
169
+ <p class="note"><span>Magento Extension to get health of your Magento installation (Server, PHP, APC, Logs, Rewrites, Modules version installed ...)</span></p>
170
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/magento-hackathon/Hackathon_MageMonitoring'); return false;" style=""><span><span><span>Install Mage Monitoring</span></span></span></button></p>
171
+
172
+
173
+ <p><h3>Aoe Scheduler</h3> (<a href="http://github.com/fbrnc/Aoe_Scheduler" target="_blank">GitHub</a> | <a href="http://www.fabrizio-branca.de/magento-cron-scheduler.html" target="_blank">WebSite / Manual</a>)
174
+ <p class="note"><span>There are some problems with cron tasks in Magento: It's hard to see which tasks had been executed and which tasks will be executed next. Currently the only way is to have a look at the cron_schedule database table. Developing cron tasks is not easy because it means waiting for the next scheduler run to execute your task. Debugging also is not easy as the scheduler runs those tasks in the background and won't give you any valuable feedback. Keeping an eye on the php error logs and writing own logs to see what is happening within your task is quite annoying. This extension is the solution to these problems.</span></p>
175
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/Marko-M/Inchoo_SocialConnect'); return false;" style=""><span><span><span>Install Aoe Scheduler</span></span></span></button></p>
176
+
177
+ <p><h3>Pulsestorm Launcher</h3> (<a href="http://github.com/astorm/PulsestormLauncher" target="_blank">GitHub</a> | <a href="http://alanstorm.com/magento_admin_navigation_launcher" target="_blank">WebSite / Manual</a>)
178
+ <p class="note"><span>The Pulse storm launcher provides the Magento admin console with a Quicksilver like plugin for immediate access to Magento navigation items, system configuration sections, and the Magento global search. Works like Mac OS Spotlight in you Magento backend.</span></p>
179
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/Marko-M/Inchoo_SocialConnect'); return false;" style=""><span><span><span>Install Pulsestorm Launcher</span></span></span></button></p>
180
+
181
+ <p><h3>Enhanced Admin Grids (+ Editor)</h3> (<a href="http://github.com/mage-eag/mage-enhanced-admin-grids" target="_blank">GitHub</a> | <a href="https://www.magentocommerce.com/magento-connect/enhanced-admin-grids-editor.html" target="_blank">WebSite / Manual</a>)
182
+ <p class="note"><span>Allow to customize a vast majority of the administration grids and add to it some useful features + an editor</span></p>
183
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/mage-eag/mage-enhanced-admin-grids'); return false;" style=""><span><span><span>Install Enhanced Admin Grids</span></span></span></button></p>
184
+
185
+ <p><h3>Jreinke Magento admin theme</h3> (<a href="http://github.com/jreinke/magento-admin-theme" target="_blank">GitHub</a> | <a href="http://www.bubblecode.net/en/2012/05/02/give-your-magento-admin-panel-a-facelift/" target="_blank">WebSite / Manual</a>)
186
+ <p class="note"><span>Clean Magento admin template with fresh look at you Magento backend.</span></p>
187
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/jreinke/magento-admin-theme'); return false;" style=""><span><span><span>Install Jreinke Magento admin theme</span></span></span></button></p>
188
+
189
+ <p><h3>Magento-Markdown</h3> (<a href="http://github.com/SchumacherFM/Magento-Markdown" target="_blank">GitHub / Manual</a> | <a href="http://michelf.ca/projects/php-markdown/" target="_blank">WebSite</a>)
190
+ <p class="note"><span>Markdown as module for Magento! Replaces the TinyMCE editor. Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).</span></p>
191
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/SchumacherFM/Magento-Markdown'); return false;" style=""><span><span><span>Install Markdown</span></span></span></button></p>
192
+
193
+ <p><h3>Inchoo Clean Apc cache</h3> (<a href="http://github.com/buric/Inchoo_Apc" target="_blank">GitHub</a> | <a href="http://inchoo.net/ecommerce/magento/manage-apc-from-magento-admin/" target="_blank">WebSite / Manual</a>)
194
+ <p class="note"><span>Clear the APC cache from Cache management section in Magento admin panel.</span></p>
195
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('http://github.com/buric/Inchoo_Apc'); return false;" style=""><span><span><span>Install Clean Apc cache</span></span></span></button></p>
196
+
197
+
198
+ </fieldset>
199
+
200
+ </div>
201
+
202
+
203
+
204
+
205
+
206
+
207
+
app/design/adminhtml/default/default/template/firebear/github/system/config/uninstall.phtml ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!Mage::getConfig()->getModuleConfig('Hackathon_MageTrashApp')->is('active', 'true')):
4
+
5
+ ?>
6
+
7
+ <p class="note"><span>For deactivate extensions you can easy modify module xml file in app/etc/modules according to <a href="http://inchoo.net/ecommerce/magento/how-to-fully-disable-turn-off-magento-module/" target="_blank">this</a> manual. Also you can install and use <a href="https://github.com/magento-hackathon/MageTrashApp">MageTrashApp</a> extension</a> for fast completely disable extensions directly from Magento admin.</span></p>
8
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:install('https://github.com/magento-hackathon/MageTrashApp'); return false;" style=""><span><span><span>Install MageTrashApp</span></span></span></button></p>
9
+
10
+ <?php
11
+
12
+ else :
13
+ ?>
14
+ <br />
15
+ <p class="note"><span><a href="https://github.com/magento-hackathon/MageTrashApp">MageTrashApp</a> installed!</a></span></p>
16
+ <button id="github_button" title="Install extension" type="button" class="scalable " onclick="javascript:window.location = '<?php echo Mage::helper('adminhtml')->getUrl('/system_config/edit/section/magetrashapp') ?>';" style=""><span><span><span>Go to extensions control</span></span></span></button></p>
17
+
18
+
19
+
20
+
21
+ <?php endif; ?>
22
+ <p class="note"><span>Please note : MageTrashApp support full uninstall only for extensions with correct uinstall file for MageTrashApp, but you can enable/disable all modules installed in you store.</span></p>
23
+
24
+
app/etc/modules/Firebear_GitHub.xml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <config>
2
+ <modules>
3
+ <Firebear_GitHub>
4
+ <active>true</active>
5
+ <codePool>community</codePool>
6
+ </Firebear_GitHub>
7
+ </modules>
8
+ </config>
package.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Firebear_GitHub</name>
4
+ <version>1.0.0</version>
5
+ <stability>stable</stability>
6
+ <license>OSL</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Install Magento extensions from GitHub</summary>
10
+ <description>Install Magento extensions from GitHub</description>
11
+ <notes>* First release</notes>
12
+ <authors><author><name>Firebear studio</name><user>fbeardev</user><email>fbeardev@gmail.com</email></author></authors>
13
+ <date>2014-03-08</date>
14
+ <time>23:29:06</time>
15
+ <contents><target name="magecommunity"><dir name="Firebear"><dir name="GitHub"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="522aa1eecd6c8615215bba9d17af0645"/><file name="Install.php" hash="f0a86c966a7f377d2109320ccd3339c0"/><file name="Uninstall.php" hash="f42bb807ecd592f4bd75f2f93e0ada57"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="2e8bef4e0ea09f81b35d4f4c70566756"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="GithubController.php" hash="eff132d13851980e7dea296c128dfa0b"/></dir><file name="IndexController.php" hash="bdd503eabc57352ca1ce897c2ff7a75a"/></dir><dir name="etc"><file name="adminhtml.xml" hash="93ece7aa1413d22439b49fd913a8fb91"/><file name="config.xml" hash="6a8dcfd20dd6b36f6b098fee8c0154c1"/><file name="system.xml" hash="1f75ac414329ba2d2e9876d2393cbf67"/></dir><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Firebear_GitHub.xml" hash="eac3bd744b6275fc7532b47bf22593c7"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="firebear"><dir name="github"><dir name="system"><dir name="config"><file name="button.phtml" hash="dd93313d7c77311c650f71b5e2722496"/><file name="install.phtml" hash="70a7eba8ff477e2d56b9a3f98853824b"/><file name="uninstall.phtml" hash="37ecf678e6a557f95e951bb5cf5ac47e"/></dir></dir></dir></dir></dir></dir></dir></dir></target></contents>
16
+ <compatible/>
17
+ <dependencies><required><php><min>5.2.13</min><max>5.5.2</max></php></required></dependencies>
18
+ </package>