Skip to content

Commit 462fd68

Browse files
committed
Add Magemaven Lesscss Extnesion.
Add 3 first less files.
1 parent 590a1ab commit 462fd68

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+7670
-0
lines changed

.project

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>magento-admin-theme</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>com.aptana.ide.core.unifiedBuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
</buildSpec>
14+
<natures>
15+
<nature>com.aptana.projects.webnature</nature>
16+
</natures>
17+
</projectDescription>
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?php
2+
/**
3+
* This source file is subject to the Academic Free License (AFL 3.0)
4+
* that is bundled with this package in the file LICENSE_AFL.txt.
5+
* It is also available through the world-wide-web at this URL:
6+
* http://opensource.org/licenses/afl-3.0.php
7+
*
8+
* @category Magemaven
9+
* @package Magemaven_Lesscss
10+
* @copyright Copyright (c) 2012 Sergey Storchay <[email protected]>
11+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
12+
*/
13+
require_once(Mage::getBaseDir('lib') . DS . 'lessphp' . DS .'lessc.inc.php');
14+
15+
class Magemaven_Lesscss_Helper_Data extends Mage_Core_Helper_Abstract
16+
{
17+
/**
18+
* Get file extension in lower case
19+
*
20+
* @param $file
21+
* @return string
22+
*/
23+
public function getFileExtension($file)
24+
{
25+
return strtolower(pathinfo($file, PATHINFO_EXTENSION));
26+
}
27+
28+
/**
29+
* Compile less file and return full path to created css
30+
*
31+
* @param $file
32+
* @return string
33+
*/
34+
public function compile($file)
35+
{
36+
if (!$file) {
37+
return '';
38+
}
39+
40+
try {
41+
$targetFilename = Mage::getBaseDir('media')
42+
. DS . 'lesscss' . DS . md5($file) . '.css';
43+
$cacheKey = 'less_' . $file;
44+
45+
/** @var $cacheModel Mage_Core_Model_Cache */
46+
$cacheModel = $cache = Mage::getSingleton('core/cache');
47+
$cache = $cacheModel->load($cacheKey);
48+
if ($cache) {
49+
$cache = @unserialize($cache);
50+
}
51+
52+
if (!file_exists($targetFilename)) {
53+
$cache = false;
54+
}
55+
56+
$lastUpdated = (isset($cache['updated'])) ? $cache['updated'] : 0;
57+
$cache = lessc::cexecute(($cache) ? $cache : $file);
58+
59+
if ($cache['updated'] > $lastUpdated) {
60+
if (!file_exists(dirname($targetFilename))) {
61+
mkdir(dirname($targetFilename), 0777, true);
62+
}
63+
64+
file_put_contents($targetFilename, $cache['compiled']);
65+
$cacheModel->save(serialize($cache), $cacheKey);
66+
}
67+
68+
} catch (Exception $e) {
69+
Mage::logException($e);
70+
$targetFilename = '';
71+
}
72+
73+
return $targetFilename;
74+
}
75+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?php
2+
/**
3+
* This source file is subject to the Academic Free License (AFL 3.0)
4+
* that is bundled with this package in the file LICENSE_AFL.txt.
5+
* It is also available through the world-wide-web at this URL:
6+
* http://opensource.org/licenses/afl-3.0.php
7+
*
8+
* @category Magemaven
9+
* @package Magemaven_Lesscss
10+
* @copyright Copyright (c) 2012 Sergey Storchay <[email protected]>
11+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
12+
*/
13+
class Magemaven_Lesscss_Model_Design_Package extends Mage_Core_Model_Design_Package
14+
{
15+
public function getSkinUrl($file = null, array $params = array())
16+
{
17+
if (empty($params['_type'])) {
18+
$params['_type'] = 'skin';
19+
}
20+
21+
/** @var $helper Magemaven_Lesscss_Helper_Data */
22+
$helper = Mage::helper('lesscss');
23+
24+
if ($helper->getFileExtension($file) == 'less') {
25+
$file = $this->getFilename($file, $params);
26+
27+
if ($file) {
28+
$file = str_replace(Mage::getBaseDir('media') . DS, '', $file);
29+
$file = str_replace('\\', '/', $file);
30+
$file = Mage::getBaseUrl('media',
31+
isset($params['_secure']) ? (bool)$params['_secure'] : null
32+
) . $file;
33+
}
34+
} else {
35+
$file = parent::getSkinUrl($file, $params);
36+
}
37+
38+
return $file;
39+
}
40+
41+
public function getFilename($file, array $params)
42+
{
43+
/** @var $helper Magemaven_Lesscss_Helper_Data */
44+
$helper = Mage::helper('lesscss');
45+
46+
$file = parent::getFilename($file, $params);
47+
if ($helper->getFileExtension($file) == 'less') {
48+
$file = $helper->compile($file);
49+
}
50+
51+
return $file;
52+
}
53+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
/**
4+
* This source file is subject to the Academic Free License (AFL 3.0)
5+
* that is bundled with this package in the file LICENSE_AFL.txt.
6+
* It is also available through the world-wide-web at this URL:
7+
* http://opensource.org/licenses/afl-3.0.php
8+
*
9+
* @category Magemaven
10+
* @package Magemaven_Lesscss
11+
* @copyright Copyright (c) 2012 Sergey Storchay <[email protected]>
12+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
13+
*/
14+
-->
15+
<config>
16+
<modules>
17+
<Magemaven_Lesscss>
18+
<version>1.0.1.0</version>
19+
</Magemaven_Lesscss>
20+
</modules>
21+
<global>
22+
<models>
23+
<lesscss>
24+
<class>Magemaven_Lesscss_Model</class>
25+
</lesscss>
26+
<core>
27+
<rewrite>
28+
<design_package>Magemaven_Lesscss_Model_Design_Package</design_package>
29+
</rewrite>
30+
</core>
31+
</models>
32+
<helpers>
33+
<lesscss>
34+
<class>Magemaven_Lesscss_Helper</class>
35+
</lesscss>
36+
</helpers>
37+
</global>
38+
</config>

app/design/adminhtml/default/go/layout/local.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@
2525
<action method="removeItem"><type>js_css</type><name>extjs/resources/css/ext-all.css</name></action>
2626
<action method="removeItem"><type>js_css</type><name>extjs/resources/css/ytheme-magento.css</name></action>
2727

28+
29+
<!-- ADD LESS FILES -->
30+
<action method="addItem"><type>skin_css</type><name>reset.less</name></action>
31+
<action method="addItem"><type>skin_css</type><name>boxes.less</name></action>
32+
<action method="addItem"><type>skin_css</type><name>custom.less</name></action>
33+
34+
2835

2936

3037
</reference>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
/**
4+
* This source file is subject to the Academic Free License (AFL 3.0)
5+
* that is bundled with this package in the file LICENSE_AFL.txt.
6+
* It is also available through the world-wide-web at this URL:
7+
* http://opensource.org/licenses/afl-3.0.php
8+
*
9+
* @category Magemaven
10+
* @package Magemaven_Lesscss
11+
* @copyright Copyright (c) 2012 Sergey Storchay <[email protected]>
12+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
13+
*/
14+
-->
15+
<config>
16+
<modules>
17+
<Magemaven_Lesscss>
18+
<active>true</active>
19+
<codePool>community</codePool>
20+
<depends>
21+
<Mage_Core />
22+
</depends>
23+
</Magemaven_Lesscss>
24+
</modules>
25+
</config>

lib/lessphp/.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
*.swp
2+
*~
3+
/*.less
4+
/*.css
5+
tests/bootstrap
6+
tests/tmp

0 commit comments

Comments
 (0)