Version Notes
Third Release with color updates
Download this release
Release Info
Developer | Matrix infologics |
Extension | sidebar_category_listing |
Version | 1.1.3 |
Comparing to | |
See all releases |
Code changes from version 1.1.2 to 1.1.3
- app/code/community/Matrix/Sidecat/Block/Sidebar.php +137 -0
- app/code/community/Matrix/Sidecat/Block/Sidebar.php~ +137 -0
- app/code/community/Matrix/Sidecat/Block/Sidecat.php +49 -0
- app/code/community/Matrix/Sidecat/Block/Sidecat.php~ +49 -0
- app/code/community/Matrix/Sidecat/Helper/Category.php +31 -0
- app/code/community/Matrix/Sidecat/Helper/Category.php~ +31 -0
- app/code/community/Matrix/Sidecat/Helper/Data.php +29 -0
- app/code/community/Matrix/Sidecat/Helper/Data.php~ +14 -0
- app/code/community/Matrix/Sidecat/Model/Mysql4/Sidecat.php +10 -0
- app/code/community/Matrix/Sidecat/Model/Mysql4/Sidecat.php~ +10 -0
- app/code/community/Matrix/Sidecat/Model/Mysql4/Sidecat/Collection.php +10 -0
- app/code/community/Matrix/Sidecat/Model/Mysql4/Sidecat/Collection.php~ +10 -0
- app/code/community/Matrix/Sidecat/Model/Session.php +10 -0
- app/code/community/Matrix/Sidecat/Model/Session.php~ +10 -0
- app/code/community/Matrix/Sidecat/Model/Sidecat.php +10 -0
- app/code/community/Matrix/Sidecat/Model/Sidecat.php~ +10 -0
- app/code/community/Matrix/Sidecat/Model/Status.php +15 -0
- app/code/community/Matrix/Sidecat/Model/Status.php~ +15 -0
- app/code/community/Matrix/Sidecat/Model/System/Config/Font.php +15 -0
- app/code/community/Matrix/Sidecat/Model/System/Config/Position.php +14 -0
- app/code/community/Matrix/Sidecat/Model/System/Config/Position.php~ +14 -0
- app/code/community/Matrix/Sidecat/Model/System/Config/Showlevel.php +17 -0
- app/code/community/Matrix/Sidecat/Model/System/Config/Showlevel.php~ +17 -0
- app/code/community/Matrix/Sidecat/Model/System/Config/Type.php +15 -0
- app/code/community/Matrix/Sidecat/Model/System/Config/Type.php~ +15 -0
- app/code/community/Matrix/Sidecat/Model/Wysiwyg/Config.php +34 -0
- app/code/community/Matrix/Sidecat/Model/Wysiwyg/Config.php~ +34 -0
- app/code/community/Matrix/Sidecat/controllers/IndexController.php +9 -0
- app/code/community/Matrix/Sidecat/controllers/IndexController.php~ +9 -0
- app/code/community/Matrix/Sidecat/etc/adminhtml.xml +26 -0
- app/code/community/Matrix/Sidecat/etc/adminhtml.xml~ +26 -0
- app/code/community/Matrix/Sidecat/etc/config.xml +134 -0
- app/code/community/Matrix/Sidecat/etc/config.xml~ +134 -0
- app/code/community/Matrix/Sidecat/etc/system.xml +115 -0
- app/code/community/Matrix/Sidecat/etc/system.xml~ +114 -0
- app/design/frontend/default/default/layout/sidecat.xml +20 -0
- app/design/frontend/default/default/template/sidecat/sidecat.phtml +104 -0
- app/etc/modules/Matrix_Sidecat.xml +9 -0
- package.xml +4 -4
- skin/frontend/default/default/css/matrix/sidecat/click.css +22 -0
- skin/frontend/default/default/css/matrix/sidecat/fly-out.css +124 -0
- skin/frontend/default/default/css/matrix/sidecat/images/Thumbs.db +0 -0
- skin/frontend/default/default/css/matrix/sidecat/images/arrow.png +0 -0
- skin/frontend/default/default/css/matrix/sidecat/images/arrow_active.png +0 -0
- skin/frontend/default/default/css/matrix/sidecat/images/bg_title.gif +0 -0
- skin/frontend/default/default/css/matrix/sidecat/images/sub_icon.gif +0 -0
- skin/frontend/default/default/css/matrix/sidecat/images/sub_icon_2.gif +0 -0
- skin/frontend/default/default/css/matrix/sidecat/static.css +18 -0
- skin/frontend/default/default/js/matrix/sidecat/hoverIntent.js +84 -0
- skin/frontend/default/default/js/matrix/sidecat/jquery-1.2.6.min.js +32 -0
- skin/frontend/default/default/js/matrix/sidecat/superfish.js +121 -0
app/code/community/Matrix/Sidecat/Block/Sidebar.php
ADDED
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Matrix_Sidecat_Block_Sidebar extends Matrix_Sidecat_Block_Sidecat
|
3 |
+
{
|
4 |
+
public function _construct() {
|
5 |
+
$this->setTemplate('sidecat/sidecat.phtml');
|
6 |
+
return parent::_construct();
|
7 |
+
}
|
8 |
+
public function _prepareLayout()
|
9 |
+
{
|
10 |
+
return parent::_prepareLayout();
|
11 |
+
}
|
12 |
+
public function getStoreCategories()
|
13 |
+
{
|
14 |
+
$helper = Mage::helper('sidecat/category');
|
15 |
+
return $helper->getAllCategories();
|
16 |
+
}
|
17 |
+
protected function _renderCategoryMenuItemHtml($category, $level = 0, $isLast = false, $isFirst = false,
|
18 |
+
$isOutermost = false, $outermostItemClass = '', $childrenWrapClass = '', $noEventAttributes = false)
|
19 |
+
{
|
20 |
+
$showType=Mage::getStoreConfig('sidecat/display_settings/show_type');
|
21 |
+
if (!$category->getIsActive()) {
|
22 |
+
return '';
|
23 |
+
}
|
24 |
+
$html = array();
|
25 |
+
|
26 |
+
// get all child categories
|
27 |
+
if (Mage::helper('catalog/category_flat')->isEnabled()) {
|
28 |
+
$children = (array)$category->getChildrenNodes();
|
29 |
+
$childrenCount = count($children);
|
30 |
+
} else {
|
31 |
+
$children = $category->getChildren();
|
32 |
+
$childrenCount = $children->count();
|
33 |
+
}
|
34 |
+
$hasChildren = ($children && $childrenCount);
|
35 |
+
|
36 |
+
// select active chid categories
|
37 |
+
$activeChildren = array();
|
38 |
+
foreach ($children as $child) {
|
39 |
+
if ($child->getIsActive()) {
|
40 |
+
$activeChildren[] = $child;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
$activeChildrenCount = count($activeChildren);
|
44 |
+
$hasActiveChildren = ($activeChildrenCount > 0);
|
45 |
+
|
46 |
+
// prepare list item html classes
|
47 |
+
$classes = array();
|
48 |
+
$classes[] = 'level' . $level;
|
49 |
+
$classes[] = 'nav-' . $this->_getItemPosition($level);
|
50 |
+
if ($this->isCategoryActive($category)) {
|
51 |
+
$classes[] = 'active';
|
52 |
+
}
|
53 |
+
$linkClass = '';
|
54 |
+
if ($isOutermost && $outermostItemClass) {
|
55 |
+
$classes[] = $outermostItemClass;
|
56 |
+
$linkClass = ' class="'.$outermostItemClass.'"';
|
57 |
+
}
|
58 |
+
if ($isFirst) {
|
59 |
+
$classes[] = 'first';
|
60 |
+
}
|
61 |
+
if ($isLast) {
|
62 |
+
$classes[] = 'last';
|
63 |
+
}
|
64 |
+
if ($hasActiveChildren) {
|
65 |
+
$classes[] = 'parent';
|
66 |
+
}
|
67 |
+
|
68 |
+
// prepare list item attributes
|
69 |
+
$attributes = array();
|
70 |
+
if (count($classes) > 0) {
|
71 |
+
$attributes['class'] = implode(' ', $classes);
|
72 |
+
}
|
73 |
+
if ($hasActiveChildren && !$noEventAttributes) {
|
74 |
+
$attributes['onmouseover'] = 'toggleMenu(this,1)';
|
75 |
+
$attributes['onmouseout'] = 'toggleMenu(this,0)';
|
76 |
+
}
|
77 |
+
|
78 |
+
// assemble list item with attributes
|
79 |
+
$htmlLi = '<li';
|
80 |
+
foreach ($attributes as $attrName => $attrValue) {
|
81 |
+
$htmlLi .= ' ' . $attrName . '="' . str_replace('"', '\"', $attrValue) . '"';
|
82 |
+
}
|
83 |
+
$htmlLi .= '>';
|
84 |
+
$html[] = $htmlLi;
|
85 |
+
if ($hasActiveChildren) {
|
86 |
+
if($showType == 'click-2-click'){
|
87 |
+
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.'>';
|
88 |
+
$html[] = '<span>' . $this->escapeHtml($category->getName()) . '</span>';
|
89 |
+
$html[] = '</a>';
|
90 |
+
$html[] = '<a href="javascript://" class="right show-cat"> ';
|
91 |
+
$html[] = '</a>';
|
92 |
+
}
|
93 |
+
else{
|
94 |
+
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.'>';
|
95 |
+
$html[] = '<span>' . $this->escapeHtml($category->getName()) . '</span>';
|
96 |
+
$html[] = '</a>';
|
97 |
+
}
|
98 |
+
}
|
99 |
+
else{
|
100 |
+
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.'>';
|
101 |
+
$html[] = '<span>' . $this->escapeHtml($category->getName()) . '</span>';
|
102 |
+
$html[] = '</a>';
|
103 |
+
}
|
104 |
+
// render child categories
|
105 |
+
$htmlChildren = '';
|
106 |
+
$j = 0;
|
107 |
+
foreach ($activeChildren as $child) {
|
108 |
+
$htmlChildren .= $this->_renderCategoryMenuItemHtml(
|
109 |
+
$child,
|
110 |
+
($level + 1),
|
111 |
+
($j == $activeChildrenCount - 1),
|
112 |
+
($j == 0),
|
113 |
+
false,
|
114 |
+
$outermostItemClass,
|
115 |
+
$childrenWrapClass,
|
116 |
+
$noEventAttributes
|
117 |
+
);
|
118 |
+
$j++;
|
119 |
+
}
|
120 |
+
if (!empty($htmlChildren)) {
|
121 |
+
if ($childrenWrapClass) {
|
122 |
+
$html[] = '<div class="' . $childrenWrapClass . '">';
|
123 |
+
}
|
124 |
+
$html[] = '<ul class="level' . $level . '">';
|
125 |
+
$html[] = $htmlChildren;
|
126 |
+
$html[] = '</ul>';
|
127 |
+
if ($childrenWrapClass) {
|
128 |
+
$html[] = '</div>';
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
$html[] = '</li>';
|
133 |
+
|
134 |
+
$html = implode("\n", $html);
|
135 |
+
return $html;
|
136 |
+
}
|
137 |
+
}
|
app/code/community/Matrix/Sidecat/Block/Sidebar.php~
ADDED
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Matrix_Sidecat_Block_Sidebar extends Matrix_Sidecat_Block_Sidecat
|
3 |
+
{
|
4 |
+
public function _construct() {
|
5 |
+
$this->setTemplate('sidecat/sidecat.phtml');
|
6 |
+
return parent::_construct();
|
7 |
+
}
|
8 |
+
public function _prepareLayout()
|
9 |
+
{
|
10 |
+
return parent::_prepareLayout();
|
11 |
+
}
|
12 |
+
public function getStoreCategories()
|
13 |
+
{
|
14 |
+
$helper = Mage::helper('sidecat/category');
|
15 |
+
return $helper->getAllCategories();
|
16 |
+
}
|
17 |
+
protected function _renderCategoryMenuItemHtml($category, $level = 0, $isLast = false, $isFirst = false,
|
18 |
+
$isOutermost = false, $outermostItemClass = '', $childrenWrapClass = '', $noEventAttributes = false)
|
19 |
+
{
|
20 |
+
$showType=Mage::getStoreConfig('sidecat/display_settings/show_type');
|
21 |
+
if (!$category->getIsActive()) {
|
22 |
+
return '';
|
23 |
+
}
|
24 |
+
$html = array();
|
25 |
+
|
26 |
+
// get all children
|
27 |
+
if (Mage::helper('catalog/category_flat')->isEnabled()) {
|
28 |
+
$children = (array)$category->getChildrenNodes();
|
29 |
+
$childrenCount = count($children);
|
30 |
+
} else {
|
31 |
+
$children = $category->getChildren();
|
32 |
+
$childrenCount = $children->count();
|
33 |
+
}
|
34 |
+
$hasChildren = ($children && $childrenCount);
|
35 |
+
|
36 |
+
// select active children
|
37 |
+
$activeChildren = array();
|
38 |
+
foreach ($children as $child) {
|
39 |
+
if ($child->getIsActive()) {
|
40 |
+
$activeChildren[] = $child;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
$activeChildrenCount = count($activeChildren);
|
44 |
+
$hasActiveChildren = ($activeChildrenCount > 0);
|
45 |
+
|
46 |
+
// prepare list item html classes
|
47 |
+
$classes = array();
|
48 |
+
$classes[] = 'level' . $level;
|
49 |
+
$classes[] = 'nav-' . $this->_getItemPosition($level);
|
50 |
+
if ($this->isCategoryActive($category)) {
|
51 |
+
$classes[] = 'active';
|
52 |
+
}
|
53 |
+
$linkClass = '';
|
54 |
+
if ($isOutermost && $outermostItemClass) {
|
55 |
+
$classes[] = $outermostItemClass;
|
56 |
+
$linkClass = ' class="'.$outermostItemClass.'"';
|
57 |
+
}
|
58 |
+
if ($isFirst) {
|
59 |
+
$classes[] = 'first';
|
60 |
+
}
|
61 |
+
if ($isLast) {
|
62 |
+
$classes[] = 'last';
|
63 |
+
}
|
64 |
+
if ($hasActiveChildren) {
|
65 |
+
$classes[] = 'parent';
|
66 |
+
}
|
67 |
+
|
68 |
+
// prepare list item attributes
|
69 |
+
$attributes = array();
|
70 |
+
if (count($classes) > 0) {
|
71 |
+
$attributes['class'] = implode(' ', $classes);
|
72 |
+
}
|
73 |
+
if ($hasActiveChildren && !$noEventAttributes) {
|
74 |
+
$attributes['onmouseover'] = 'toggleMenu(this,1)';
|
75 |
+
$attributes['onmouseout'] = 'toggleMenu(this,0)';
|
76 |
+
}
|
77 |
+
|
78 |
+
// assemble list item with attributes
|
79 |
+
$htmlLi = '<li';
|
80 |
+
foreach ($attributes as $attrName => $attrValue) {
|
81 |
+
$htmlLi .= ' ' . $attrName . '="' . str_replace('"', '\"', $attrValue) . '"';
|
82 |
+
}
|
83 |
+
$htmlLi .= '>';
|
84 |
+
$html[] = $htmlLi;
|
85 |
+
if ($hasActiveChildren) {
|
86 |
+
if($showType == 'click-2-click'){
|
87 |
+
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.'>';
|
88 |
+
$html[] = '<span>' . $this->escapeHtml($category->getName()) . '</span>';
|
89 |
+
$html[] = '</a>';
|
90 |
+
$html[] = '<a href="javascript://" class="right show-cat"> ';
|
91 |
+
$html[] = '</a>';
|
92 |
+
}
|
93 |
+
else{
|
94 |
+
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.'>';
|
95 |
+
$html[] = '<span>' . $this->escapeHtml($category->getName()) . '</span>';
|
96 |
+
$html[] = '</a>';
|
97 |
+
}
|
98 |
+
}
|
99 |
+
else{
|
100 |
+
$html[] = '<a href="'.$this->getCategoryUrl($category).'"'.$linkClass.'>';
|
101 |
+
$html[] = '<span>' . $this->escapeHtml($category->getName()) . '</span>';
|
102 |
+
$html[] = '</a>';
|
103 |
+
}
|
104 |
+
// render children
|
105 |
+
$htmlChildren = '';
|
106 |
+
$j = 0;
|
107 |
+
foreach ($activeChildren as $child) {
|
108 |
+
$htmlChildren .= $this->_renderCategoryMenuItemHtml(
|
109 |
+
$child,
|
110 |
+
($level + 1),
|
111 |
+
($j == $activeChildrenCount - 1),
|
112 |
+
($j == 0),
|
113 |
+
false,
|
114 |
+
$outermostItemClass,
|
115 |
+
$childrenWrapClass,
|
116 |
+
$noEventAttributes
|
117 |
+
);
|
118 |
+
$j++;
|
119 |
+
}
|
120 |
+
if (!empty($htmlChildren)) {
|
121 |
+
if ($childrenWrapClass) {
|
122 |
+
$html[] = '<div class="' . $childrenWrapClass . '">';
|
123 |
+
}
|
124 |
+
$html[] = '<ul class="level' . $level . '">';
|
125 |
+
$html[] = $htmlChildren;
|
126 |
+
$html[] = '</ul>';
|
127 |
+
if ($childrenWrapClass) {
|
128 |
+
$html[] = '</div>';
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
$html[] = '</li>';
|
133 |
+
|
134 |
+
$html = implode("\n", $html);
|
135 |
+
return $html;
|
136 |
+
}
|
137 |
+
}
|
app/code/community/Matrix/Sidecat/Block/Sidecat.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* matrix infologics Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the EULA
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* @category Matrix Infologics
|
10 |
+
* Author Matrix Infologics - Gagandeep
|
11 |
+
*/
|
12 |
+
|
13 |
+
|
14 |
+
class Matrix_Sidecat_Block_Sidecat extends Mage_Catalog_Block_Navigation
|
15 |
+
{
|
16 |
+
public function _prepareLayout()
|
17 |
+
{
|
18 |
+
return parent::_prepareLayout();
|
19 |
+
}
|
20 |
+
|
21 |
+
public function getSidecat()
|
22 |
+
{
|
23 |
+
if (!$this->hasData('sidecat')) {
|
24 |
+
$this->setData('sidecat', Mage::registry('sidecat'));
|
25 |
+
}
|
26 |
+
return $this->getData('sidecat');
|
27 |
+
|
28 |
+
}
|
29 |
+
public function leftSidebarBlock() {
|
30 |
+
$block = $this->getParentBlock();
|
31 |
+
if($block) {
|
32 |
+
|
33 |
+
if(Mage::helper('sidecat')->displayOnSideBar() == 'left') {
|
34 |
+
$sidebarBlock = $this->getLayout()->createBlock('sidecat/sidebar');
|
35 |
+
$block->insert($sidebarBlock,'', true, 'cat-sidebar');
|
36 |
+
}
|
37 |
+
}
|
38 |
+
}
|
39 |
+
public function rightSidebarBlock() {
|
40 |
+
$block = $this->getParentBlock();
|
41 |
+
if($block) {
|
42 |
+
if(Mage::helper('sidecat')->displayOnSideBar() == 'right') {
|
43 |
+
$sidebarBlock = $this->getLayout()->createBlock('sidecat/sidebar');
|
44 |
+
|
45 |
+
$block->insert($sidebarBlock, '', true, 'cat-sidebar');
|
46 |
+
}
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
app/code/community/Matrix/Sidecat/Block/Sidecat.php~
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* softprodigy Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the EULA
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* @category SPS
|
10 |
+
* Author Softprodigy-S.E Gagan
|
11 |
+
*/
|
12 |
+
|
13 |
+
|
14 |
+
class Matrix_Sidecat_Block_Sidecat extends Mage_Catalog_Block_Navigation
|
15 |
+
{
|
16 |
+
public function _prepareLayout()
|
17 |
+
{
|
18 |
+
return parent::_prepareLayout();
|
19 |
+
}
|
20 |
+
|
21 |
+
public function getSidecat()
|
22 |
+
{
|
23 |
+
if (!$this->hasData('sidecat')) {
|
24 |
+
$this->setData('sidecat', Mage::registry('sidecat'));
|
25 |
+
}
|
26 |
+
return $this->getData('sidecat');
|
27 |
+
|
28 |
+
}
|
29 |
+
public function leftSidebarBlock() {
|
30 |
+
$block = $this->getParentBlock();
|
31 |
+
if($block) {
|
32 |
+
|
33 |
+
if(Mage::helper('sidecat')->displayOnSideBar() == 'left') {
|
34 |
+
$sidebarBlock = $this->getLayout()->createBlock('sidecat/sidebar');
|
35 |
+
$block->insert($sidebarBlock,'', true, 'cat-sidebar');
|
36 |
+
}
|
37 |
+
}
|
38 |
+
}
|
39 |
+
public function rightSidebarBlock() {
|
40 |
+
$block = $this->getParentBlock();
|
41 |
+
if($block) {
|
42 |
+
if(Mage::helper('sidecat')->displayOnSideBar() == 'right') {
|
43 |
+
$sidebarBlock = $this->getLayout()->createBlock('sidecat/sidebar');
|
44 |
+
|
45 |
+
$block->insert($sidebarBlock, '', true, 'cat-sidebar');
|
46 |
+
}
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
app/code/community/Matrix/Sidecat/Helper/Category.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Helper_Category extends Mage_Catalog_Helper_Category
|
4 |
+
{
|
5 |
+
public function getAllCategories($sorted=false, $asCollection=false, $toLoad=true)
|
6 |
+
{
|
7 |
+
$parent = Mage::app()->getStore()->getRootCategoryId();
|
8 |
+
$cacheKey = sprintf('%d-%d-%d-%d', $parent, $sorted, $asCollection, $toLoad);
|
9 |
+
if (isset($this->_storeCategories[$cacheKey])) {
|
10 |
+
return $this->_storeCategories[$cacheKey];
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Check if parent node of the store still exists
|
15 |
+
*/
|
16 |
+
$category = Mage::getModel('catalog/category');
|
17 |
+
/* @var $category Mage_Catalog_Model_Category */
|
18 |
+
if (!$category->checkId($parent)) {
|
19 |
+
if ($asCollection) {
|
20 |
+
return new Varien_Data_Collection();
|
21 |
+
}
|
22 |
+
return array();
|
23 |
+
}
|
24 |
+
|
25 |
+
$categoryDepth = max(0, (int)Mage::getStoreConfig('sidecat/display_settings/category_level'));
|
26 |
+
$storeCategories = $category->getCategories($parent, $categoryDepth, $sorted, $asCollection, $toLoad);
|
27 |
+
|
28 |
+
$this->_storeCategories[$cacheKey] = $storeCategories;
|
29 |
+
return $storeCategories;
|
30 |
+
}
|
31 |
+
}
|
app/code/community/Matrix/Sidecat/Helper/Category.php~
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Magebuzz_Catsidebarnav_Helper_Category extends Mage_Catalog_Helper_Category
|
4 |
+
{
|
5 |
+
public function getAllCategories($sorted=false, $asCollection=false, $toLoad=true)
|
6 |
+
{
|
7 |
+
$parent = Mage::app()->getStore()->getRootCategoryId();
|
8 |
+
$cacheKey = sprintf('%d-%d-%d-%d', $parent, $sorted, $asCollection, $toLoad);
|
9 |
+
if (isset($this->_storeCategories[$cacheKey])) {
|
10 |
+
return $this->_storeCategories[$cacheKey];
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Check if parent node of the store still exists
|
15 |
+
*/
|
16 |
+
$category = Mage::getModel('catalog/category');
|
17 |
+
/* @var $category Mage_Catalog_Model_Category */
|
18 |
+
if (!$category->checkId($parent)) {
|
19 |
+
if ($asCollection) {
|
20 |
+
return new Varien_Data_Collection();
|
21 |
+
}
|
22 |
+
return array();
|
23 |
+
}
|
24 |
+
|
25 |
+
$categoryDepth = max(0, (int)Mage::getStoreConfig('catsidebarnav/display_settings/category_level'));
|
26 |
+
$storeCategories = $category->getCategories($parent, $categoryDepth, $sorted, $asCollection, $toLoad);
|
27 |
+
|
28 |
+
$this->_storeCategories[$cacheKey] = $storeCategories;
|
29 |
+
return $storeCategories;
|
30 |
+
}
|
31 |
+
}
|
app/code/community/Matrix/Sidecat/Helper/Data.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Helper_Data extends Mage_Core_Helper_Abstract
|
4 |
+
{
|
5 |
+
public function isEnabled() {
|
6 |
+
return (int)Mage::getStoreConfig('sidecat/display_settings/enabled');
|
7 |
+
}
|
8 |
+
public function displayOnSideBar() {
|
9 |
+
return Mage::getStoreConfig('sidecat/display_settings/position');
|
10 |
+
}
|
11 |
+
public function getShowType(){
|
12 |
+
return Mage::getStoreConfig('sidecat/display_settings/show_type');
|
13 |
+
}
|
14 |
+
public function getShowFont(){
|
15 |
+
return Mage::getStoreConfig('sidecat/display_settings/show_font');
|
16 |
+
}
|
17 |
+
public function getCategoryColor(){
|
18 |
+
return Mage::getStoreConfig('sidecat/display_settings/category_color');
|
19 |
+
}
|
20 |
+
public function getCategoryBg(){
|
21 |
+
return Mage::getStoreConfig('sidecat/display_settings/category_background');
|
22 |
+
}
|
23 |
+
public function getCategoryLabel(){
|
24 |
+
return Mage::getStoreConfig('sidecat/display_settings/category_label');
|
25 |
+
}
|
26 |
+
public function getCategoryTextColor(){
|
27 |
+
return Mage::getStoreConfig('sidecat/display_settings/category_textColor');
|
28 |
+
}
|
29 |
+
}
|
app/code/community/Matrix/Sidecat/Helper/Data.php~
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Magebuzz_Catsidebarnav_Helper_Data extends Mage_Core_Helper_Abstract
|
4 |
+
{
|
5 |
+
public function isEnabled() {
|
6 |
+
return (int)Mage::getStoreConfig('catsidebarnav/display_settings/enabled');
|
7 |
+
}
|
8 |
+
public function displayOnSideBar() {
|
9 |
+
return Mage::getStoreConfig('catsidebarnav/display_settings/position');
|
10 |
+
}
|
11 |
+
public function getShowType(){
|
12 |
+
return Mage::getStoreConfig('catsidebarnav/display_settings/show_type');
|
13 |
+
}
|
14 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Mysql4/Sidecat.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Model_Mysql4_Sidecat extends Mage_Core_Model_Mysql4_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
// Note that the sidecat_id refers to the key field in your database table.
|
8 |
+
$this->_init('sidecat/sidecat', 'sidecat_id');
|
9 |
+
}
|
10 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Mysql4/Sidecat.php~
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Magebuzz_Catsidebarnav_Model_Mysql4_Catsidebarnav extends Mage_Core_Model_Mysql4_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
// Note that the catsidebarnav_id refers to the key field in your database table.
|
8 |
+
$this->_init('catsidebarnav/catsidebarnav', 'catsidebarnav_id');
|
9 |
+
}
|
10 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Mysql4/Sidecat/Collection.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Model_Mysql4_Sidecat_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
parent::_construct();
|
8 |
+
$this->_init('sidecat/sidecat');
|
9 |
+
}
|
10 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Mysql4/Sidecat/Collection.php~
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Magebuzz_Catsidebarnav_Model_Mysql4_Catsidebarnav_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
parent::_construct();
|
8 |
+
$this->_init('catsidebarnav/catsidebarnav');
|
9 |
+
}
|
10 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Session.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Model_Session extends Mage_Core_Model_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
parent::_construct();
|
8 |
+
$this->_init('sidecat');
|
9 |
+
}
|
10 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Session.php~
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Magebuzz_Catsidebarnav_Model_Session extends Mage_Core_Model_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
parent::_construct();
|
8 |
+
$this->_init('catsidebarnav');
|
9 |
+
}
|
10 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Sidecat.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Model_Sidecat extends Mage_Core_Model_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
parent::_construct();
|
8 |
+
$this->_init('sidecat/sidecat');
|
9 |
+
}
|
10 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Sidecat.php~
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Magebuzz_Catsidebarnav_Model_Catsidebarnav extends Mage_Core_Model_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
parent::_construct();
|
8 |
+
$this->_init('catsidebarnav/catsidebarnav');
|
9 |
+
}
|
10 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Status.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Model_Status extends Varien_Object
|
4 |
+
{
|
5 |
+
const STATUS_ENABLED = 1;
|
6 |
+
const STATUS_DISABLED = 2;
|
7 |
+
|
8 |
+
static public function getOptionArray()
|
9 |
+
{
|
10 |
+
return array(
|
11 |
+
self::STATUS_ENABLED => Mage::helper('sidecat')->__('Enabled'),
|
12 |
+
self::STATUS_DISABLED => Mage::helper('sidecat')->__('Disabled')
|
13 |
+
);
|
14 |
+
}
|
15 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Status.php~
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Magebuzz_Catsidebarnav_Model_Status extends Varien_Object
|
4 |
+
{
|
5 |
+
const STATUS_ENABLED = 1;
|
6 |
+
const STATUS_DISABLED = 2;
|
7 |
+
|
8 |
+
static public function getOptionArray()
|
9 |
+
{
|
10 |
+
return array(
|
11 |
+
self::STATUS_ENABLED => Mage::helper('catsidebarnav')->__('Enabled'),
|
12 |
+
self::STATUS_DISABLED => Mage::helper('catsidebarnav')->__('Disabled')
|
13 |
+
);
|
14 |
+
}
|
15 |
+
}
|
app/code/community/Matrix/Sidecat/Model/System/Config/Font.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Model_System_Config_Font
|
4 |
+
{
|
5 |
+
public function toOptionArray()
|
6 |
+
{
|
7 |
+
$options = array(
|
8 |
+
array('value'=>'lowercase','label'=> Mage::helper('sidecat')->__('Lowercase')),
|
9 |
+
array('value'=>'uppercase','label'=> Mage::helper('sidecat')->__('Uppercase')),
|
10 |
+
array('value'=>'capitalize','label'=> Mage::helper('sidecat')->__('Capitalize')),
|
11 |
+
);
|
12 |
+
|
13 |
+
return $options;
|
14 |
+
}
|
15 |
+
}
|
app/code/community/Matrix/Sidecat/Model/System/Config/Position.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Model_System_Config_Position
|
4 |
+
{
|
5 |
+
public function toOptionArray()
|
6 |
+
{
|
7 |
+
$options = array(
|
8 |
+
array('value'=>'left','label'=> Mage::helper('sidecat')->__('Left Sidebar')),
|
9 |
+
array('value'=>'right','label'=> Mage::helper('sidecat')->__('Right Sidebar')),
|
10 |
+
);
|
11 |
+
|
12 |
+
return $options;
|
13 |
+
}
|
14 |
+
}
|
app/code/community/Matrix/Sidecat/Model/System/Config/Position.php~
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Magebuzz_Catsidebarnav_Model_System_Config_Position
|
4 |
+
{
|
5 |
+
public function toOptionArray()
|
6 |
+
{
|
7 |
+
$options = array(
|
8 |
+
array('value'=>'left','label'=> Mage::helper('catsidebarnav')->__('Left Sidebar')),
|
9 |
+
array('value'=>'right','label'=> Mage::helper('catsidebarnav')->__('Right Sidebar')),
|
10 |
+
);
|
11 |
+
|
12 |
+
return $options;
|
13 |
+
}
|
14 |
+
}
|
app/code/community/Matrix/Sidecat/Model/System/Config/Showlevel.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Model_System_Config_Showlevel
|
4 |
+
{
|
5 |
+
public function toOptionArray()
|
6 |
+
{
|
7 |
+
$options = array(
|
8 |
+
array('value'=>'all','label'=> Mage::helper('sidecat')->__('All')),
|
9 |
+
array('value'=>1,'label'=> Mage::helper('sidecat')->__('1')),
|
10 |
+
array('value'=>2,'label'=> Mage::helper('sidecat')->__('2')),
|
11 |
+
array('value'=>3,'label'=> Mage::helper('sidecat')->__('3')),
|
12 |
+
array('value'=>4,'label'=> Mage::helper('sidecat')->__('4')),
|
13 |
+
);
|
14 |
+
|
15 |
+
return $options;
|
16 |
+
}
|
17 |
+
}
|
app/code/community/Matrix/Sidecat/Model/System/Config/Showlevel.php~
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Magebuzz_Catsidebarnav_Model_System_Config_Showlevel
|
4 |
+
{
|
5 |
+
public function toOptionArray()
|
6 |
+
{
|
7 |
+
$options = array(
|
8 |
+
array('value'=>'all','label'=> Mage::helper('catsidebarnav')->__('All')),
|
9 |
+
array('value'=>1,'label'=> Mage::helper('catsidebarnav')->__('1')),
|
10 |
+
array('value'=>2,'label'=> Mage::helper('catsidebarnav')->__('2')),
|
11 |
+
array('value'=>3,'label'=> Mage::helper('catsidebarnav')->__('3')),
|
12 |
+
array('value'=>4,'label'=> Mage::helper('catsidebarnav')->__('4')),
|
13 |
+
);
|
14 |
+
|
15 |
+
return $options;
|
16 |
+
}
|
17 |
+
}
|
app/code/community/Matrix/Sidecat/Model/System/Config/Type.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Matrix_Sidecat_Model_System_Config_Type
|
4 |
+
{
|
5 |
+
public function toOptionArray()
|
6 |
+
{
|
7 |
+
$options = array(
|
8 |
+
array('value'=>'static','label'=> Mage::helper('sidecat')->__('Visible')),
|
9 |
+
array('value'=>'click-2-click','label'=> Mage::helper('sidecat')->__('Onclick')),
|
10 |
+
array('value'=>'fly-out','label'=> Mage::helper('sidecat')->__('Mousehover')),
|
11 |
+
);
|
12 |
+
|
13 |
+
return $options;
|
14 |
+
}
|
15 |
+
}
|
app/code/community/Matrix/Sidecat/Model/System/Config/Type.php~
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Magebuzz_Catsidebarnav_Model_System_Config_Type
|
4 |
+
{
|
5 |
+
public function toOptionArray()
|
6 |
+
{
|
7 |
+
$options = array(
|
8 |
+
array('value'=>'static','label'=> Mage::helper('catsidebarnav')->__('Static')),
|
9 |
+
array('value'=>'click-2-click','label'=> Mage::helper('catsidebarnav')->__('Click to Click')),
|
10 |
+
array('value'=>'fly-out','label'=> Mage::helper('catsidebarnav')->__('Fly Out')),
|
11 |
+
);
|
12 |
+
|
13 |
+
return $options;
|
14 |
+
}
|
15 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Wysiwyg/Config.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Matrix_Sidecat_Model_Wysiwyg_Config extends Mage_Cms_Model_Wysiwyg_Config
|
3 |
+
{
|
4 |
+
public function getConfig($data = array())
|
5 |
+
{
|
6 |
+
$config = new Varien_Object();
|
7 |
+
|
8 |
+
$config->setData(array(
|
9 |
+
'enabled' => $this->isEnabled(),
|
10 |
+
'hidden' => $this->isHidden(),
|
11 |
+
'use_container' => false,
|
12 |
+
'add_variables' => false,
|
13 |
+
'add_widgets' => false,
|
14 |
+
'no_display' => false,
|
15 |
+
'translator' => Mage::helper('cms'),
|
16 |
+
'files_browser_window_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg_images/index'),
|
17 |
+
'files_browser_window_width' => (int) Mage::getConfig()->getNode('adminhtml/cms/browser/window_width'),
|
18 |
+
'files_browser_window_height' => (int) Mage::getConfig()->getNode('adminhtml/cms/browser/window_height'),
|
19 |
+
'encode_directives' => true,
|
20 |
+
'directives_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg/directive'),
|
21 |
+
'popup_css' => Mage::getBaseUrl('js').'mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/dialog.css',
|
22 |
+
'content_css' => Mage::getBaseUrl('js').'mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/content.css',
|
23 |
+
'width' => '100%',
|
24 |
+
'plugins' => array()
|
25 |
+
));
|
26 |
+
|
27 |
+
$config->setData('directives_url_quoted', preg_quote($config->getData('directives_url')));
|
28 |
+
|
29 |
+
if (is_array($data)) {
|
30 |
+
$config->addData($data);
|
31 |
+
}
|
32 |
+
return $config;
|
33 |
+
}
|
34 |
+
}
|
app/code/community/Matrix/Sidecat/Model/Wysiwyg/Config.php~
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Magebuzz_Catsidebarnav_Model_Wysiwyg_Config extends Mage_Cms_Model_Wysiwyg_Config
|
3 |
+
{
|
4 |
+
public function getConfig($data = array())
|
5 |
+
{
|
6 |
+
$config = new Varien_Object();
|
7 |
+
|
8 |
+
$config->setData(array(
|
9 |
+
'enabled' => $this->isEnabled(),
|
10 |
+
'hidden' => $this->isHidden(),
|
11 |
+
'use_container' => false,
|
12 |
+
'add_variables' => false,
|
13 |
+
'add_widgets' => false,
|
14 |
+
'no_display' => false,
|
15 |
+
'translator' => Mage::helper('cms'),
|
16 |
+
'files_browser_window_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg_images/index'),
|
17 |
+
'files_browser_window_width' => (int) Mage::getConfig()->getNode('adminhtml/cms/browser/window_width'),
|
18 |
+
'files_browser_window_height' => (int) Mage::getConfig()->getNode('adminhtml/cms/browser/window_height'),
|
19 |
+
'encode_directives' => true,
|
20 |
+
'directives_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg/directive'),
|
21 |
+
'popup_css' => Mage::getBaseUrl('js').'mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/dialog.css',
|
22 |
+
'content_css' => Mage::getBaseUrl('js').'mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/content.css',
|
23 |
+
'width' => '100%',
|
24 |
+
'plugins' => array()
|
25 |
+
));
|
26 |
+
|
27 |
+
$config->setData('directives_url_quoted', preg_quote($config->getData('directives_url')));
|
28 |
+
|
29 |
+
if (is_array($data)) {
|
30 |
+
$config->addData($data);
|
31 |
+
}
|
32 |
+
return $config;
|
33 |
+
}
|
34 |
+
}
|
app/code/community/Matrix/Sidecat/controllers/IndexController.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Matrix_Sidecat_IndexController extends Mage_Core_Controller_Front_Action
|
3 |
+
{
|
4 |
+
public function indexAction()
|
5 |
+
{
|
6 |
+
$this->loadLayout();
|
7 |
+
$this->renderLayout();
|
8 |
+
}
|
9 |
+
}
|
app/code/community/Matrix/Sidecat/controllers/IndexController.php~
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Magebuzz_Catsidebarnav_IndexController extends Mage_Core_Controller_Front_Action
|
3 |
+
{
|
4 |
+
public function indexAction()
|
5 |
+
{
|
6 |
+
$this->loadLayout();
|
7 |
+
$this->renderLayout();
|
8 |
+
}
|
9 |
+
}
|
app/code/community/Matrix/Sidecat/etc/adminhtml.xml
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
<sidecat translate="title">
|
15 |
+
<title>Sidecat Permission Setting</title>
|
16 |
+
<sort_order>50</sort_order>
|
17 |
+
</sidecat>
|
18 |
+
</children>
|
19 |
+
</config>
|
20 |
+
</children>
|
21 |
+
</system>
|
22 |
+
</children>
|
23 |
+
</admin>
|
24 |
+
</resources>
|
25 |
+
</acl>
|
26 |
+
</config>
|
app/code/community/Matrix/Sidecat/etc/adminhtml.xml~
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
<catsidebarnav translate="title">
|
15 |
+
<title>Catsidebarnav Permission Setting</title>
|
16 |
+
<sort_order>50</sort_order>
|
17 |
+
</catsidebarnav>
|
18 |
+
</children>
|
19 |
+
</config>
|
20 |
+
</children>
|
21 |
+
</system>
|
22 |
+
</children>
|
23 |
+
</admin>
|
24 |
+
</resources>
|
25 |
+
</acl>
|
26 |
+
</config>
|
app/code/community/Matrix/Sidecat/etc/config.xml
ADDED
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Matrix_Sidecat>
|
5 |
+
<version>0.1.0</version>
|
6 |
+
</Matrix_Sidecat>
|
7 |
+
</modules>
|
8 |
+
<frontend>
|
9 |
+
<secure_url>
|
10 |
+
<sidecat>/sidecat/</sidecat>
|
11 |
+
</secure_url>
|
12 |
+
<routers>
|
13 |
+
<sidecat>
|
14 |
+
<use>standard</use>
|
15 |
+
<args>
|
16 |
+
<module>Matrix_Sidecat</module>
|
17 |
+
<frontName>sidecat</frontName>
|
18 |
+
</args>
|
19 |
+
</sidecat>
|
20 |
+
</routers>
|
21 |
+
<layout>
|
22 |
+
<updates>
|
23 |
+
<sidecat>
|
24 |
+
<file>sidecat.xml</file>
|
25 |
+
</sidecat>
|
26 |
+
</updates>
|
27 |
+
</layout>
|
28 |
+
</frontend>
|
29 |
+
<admin>
|
30 |
+
<routers>
|
31 |
+
<sidecat>
|
32 |
+
<use>admin</use>
|
33 |
+
<args>
|
34 |
+
<module>Matrix_Sidecat</module>
|
35 |
+
<frontName>sidecat</frontName>
|
36 |
+
</args>
|
37 |
+
</sidecat>
|
38 |
+
</routers>
|
39 |
+
</admin>
|
40 |
+
<adminhtml>
|
41 |
+
<layout>
|
42 |
+
<updates>
|
43 |
+
<sidecat>
|
44 |
+
<file>sidecat.xml</file>
|
45 |
+
</sidecat>
|
46 |
+
</updates>
|
47 |
+
</layout>
|
48 |
+
</adminhtml>
|
49 |
+
<global>
|
50 |
+
<models>
|
51 |
+
<sidecat>
|
52 |
+
<class>Matrix_Sidecat_Model</class>
|
53 |
+
<resourceModel>sidecat_mysql4</resourceModel>
|
54 |
+
</sidecat>
|
55 |
+
<sidecat_mysql4>
|
56 |
+
<class>Matrix_Sidecat_Model_Mysql4</class>
|
57 |
+
<entities>
|
58 |
+
<sidecat>
|
59 |
+
<table>sidecat</table>
|
60 |
+
</sidecat>
|
61 |
+
</entities>
|
62 |
+
</sidecat_mysql4>
|
63 |
+
</models>
|
64 |
+
<resources>
|
65 |
+
<sidecat_setup>
|
66 |
+
<setup>
|
67 |
+
<module>Matrix_Sidecat</module>
|
68 |
+
</setup>
|
69 |
+
<connection>
|
70 |
+
<use>core_setup</use>
|
71 |
+
</connection>
|
72 |
+
</sidecat_setup>
|
73 |
+
<sidecat_write>
|
74 |
+
<connection>
|
75 |
+
<use>core_write</use>
|
76 |
+
</connection>
|
77 |
+
</sidecat_write>
|
78 |
+
<sidecat_read>
|
79 |
+
<connection>
|
80 |
+
<use>core_read</use>
|
81 |
+
</connection>
|
82 |
+
</sidecat_read>
|
83 |
+
</resources>
|
84 |
+
<blocks>
|
85 |
+
<sidecat>
|
86 |
+
<class>Matrix_Sidecat_Block</class>
|
87 |
+
</sidecat>
|
88 |
+
<catalog>
|
89 |
+
<rewrite>
|
90 |
+
<navigation>Matrix_Sidecat_Block_Sidecat</navigation>
|
91 |
+
</rewrite>
|
92 |
+
</catalog>
|
93 |
+
</blocks>
|
94 |
+
<helpers>
|
95 |
+
<sidecat>
|
96 |
+
<class>Matrix_Sidecat_Helper</class>
|
97 |
+
</sidecat>
|
98 |
+
<catalog>
|
99 |
+
<rewrite>
|
100 |
+
<category>Matrix_Sidecat_Helper_Category</category>
|
101 |
+
</rewrite>
|
102 |
+
</catalog>
|
103 |
+
</helpers>
|
104 |
+
<template>
|
105 |
+
<email>
|
106 |
+
<sidecat_general_email_template>
|
107 |
+
<label>Title Email</label>
|
108 |
+
<file>sidecat_example.html</file>
|
109 |
+
<type>html</type>
|
110 |
+
</sidecat_general_email_template>
|
111 |
+
</email>
|
112 |
+
</template>
|
113 |
+
</global>
|
114 |
+
<!--Set Default Value For Setting Options-->
|
115 |
+
<default>
|
116 |
+
<sidecat>
|
117 |
+
<display_settings>
|
118 |
+
<enabled>1</enabled>
|
119 |
+
<position>left</position>
|
120 |
+
<category_level>0</category_level>
|
121 |
+
<show_type>static</show_type>
|
122 |
+
</display_settings>
|
123 |
+
</sidecat>
|
124 |
+
</default>
|
125 |
+
<translate>
|
126 |
+
<modules>
|
127 |
+
<Matrix_Sidecat>
|
128 |
+
<files>
|
129 |
+
<default>Matrix_Sidecat.csv</default>
|
130 |
+
</files>
|
131 |
+
</Matrix_Sidecat>
|
132 |
+
</modules>
|
133 |
+
</translate>
|
134 |
+
</config>
|
app/code/community/Matrix/Sidecat/etc/config.xml~
ADDED
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Magebuzz_Catsidebarnav>
|
5 |
+
<version>0.1.0</version>
|
6 |
+
</Magebuzz_Catsidebarnav>
|
7 |
+
</modules>
|
8 |
+
<frontend>
|
9 |
+
<secure_url>
|
10 |
+
<catsidebarnav>/catsidebarnav/</catsidebarnav>
|
11 |
+
</secure_url>
|
12 |
+
<routers>
|
13 |
+
<catsidebarnav>
|
14 |
+
<use>standard</use>
|
15 |
+
<args>
|
16 |
+
<module>Magebuzz_Catsidebarnav</module>
|
17 |
+
<frontName>catsidebarnav</frontName>
|
18 |
+
</args>
|
19 |
+
</catsidebarnav>
|
20 |
+
</routers>
|
21 |
+
<layout>
|
22 |
+
<updates>
|
23 |
+
<catsidebarnav>
|
24 |
+
<file>catsidebarnav.xml</file>
|
25 |
+
</catsidebarnav>
|
26 |
+
</updates>
|
27 |
+
</layout>
|
28 |
+
</frontend>
|
29 |
+
<admin>
|
30 |
+
<routers>
|
31 |
+
<catsidebarnav>
|
32 |
+
<use>admin</use>
|
33 |
+
<args>
|
34 |
+
<module>Magebuzz_Catsidebarnav</module>
|
35 |
+
<frontName>catsidebarnav</frontName>
|
36 |
+
</args>
|
37 |
+
</catsidebarnav>
|
38 |
+
</routers>
|
39 |
+
</admin>
|
40 |
+
<adminhtml>
|
41 |
+
<layout>
|
42 |
+
<updates>
|
43 |
+
<catsidebarnav>
|
44 |
+
<file>catsidebarnav.xml</file>
|
45 |
+
</catsidebarnav>
|
46 |
+
</updates>
|
47 |
+
</layout>
|
48 |
+
</adminhtml>
|
49 |
+
<global>
|
50 |
+
<models>
|
51 |
+
<catsidebarnav>
|
52 |
+
<class>Magebuzz_Catsidebarnav_Model</class>
|
53 |
+
<resourceModel>catsidebarnav_mysql4</resourceModel>
|
54 |
+
</catsidebarnav>
|
55 |
+
<catsidebarnav_mysql4>
|
56 |
+
<class>Magebuzz_Catsidebarnav_Model_Mysql4</class>
|
57 |
+
<entities>
|
58 |
+
<catsidebarnav>
|
59 |
+
<table>catsidebarnav</table>
|
60 |
+
</catsidebarnav>
|
61 |
+
</entities>
|
62 |
+
</catsidebarnav_mysql4>
|
63 |
+
</models>
|
64 |
+
<resources>
|
65 |
+
<catsidebarnav_setup>
|
66 |
+
<setup>
|
67 |
+
<module>Magebuzz_Catsidebarnav</module>
|
68 |
+
</setup>
|
69 |
+
<connection>
|
70 |
+
<use>core_setup</use>
|
71 |
+
</connection>
|
72 |
+
</catsidebarnav_setup>
|
73 |
+
<catsidebarnav_write>
|
74 |
+
<connection>
|
75 |
+
<use>core_write</use>
|
76 |
+
</connection>
|
77 |
+
</catsidebarnav_write>
|
78 |
+
<catsidebarnav_read>
|
79 |
+
<connection>
|
80 |
+
<use>core_read</use>
|
81 |
+
</connection>
|
82 |
+
</catsidebarnav_read>
|
83 |
+
</resources>
|
84 |
+
<blocks>
|
85 |
+
<catsidebarnav>
|
86 |
+
<class>Magebuzz_Catsidebarnav_Block</class>
|
87 |
+
</catsidebarnav>
|
88 |
+
<catalog>
|
89 |
+
<rewrite>
|
90 |
+
<navigation>Magebuzz_Catsidebarnav_Block_Catsidebarnav</navigation>
|
91 |
+
</rewrite>
|
92 |
+
</catalog>
|
93 |
+
</blocks>
|
94 |
+
<helpers>
|
95 |
+
<catsidebarnav>
|
96 |
+
<class>Magebuzz_Catsidebarnav_Helper</class>
|
97 |
+
</catsidebarnav>
|
98 |
+
<catalog>
|
99 |
+
<rewrite>
|
100 |
+
<category>Magebuzz_Catsidebarnav_Helper_Category</category>
|
101 |
+
</rewrite>
|
102 |
+
</catalog>
|
103 |
+
</helpers>
|
104 |
+
<template>
|
105 |
+
<email>
|
106 |
+
<catsidebarnav_general_email_template>
|
107 |
+
<label>Title Email</label>
|
108 |
+
<file>catsidebarnav_example.html</file>
|
109 |
+
<type>html</type>
|
110 |
+
</catsidebarnav_general_email_template>
|
111 |
+
</email>
|
112 |
+
</template>
|
113 |
+
</global>
|
114 |
+
<!--Set Default Value For Setting Options-->
|
115 |
+
<default>
|
116 |
+
<catsidebarnav>
|
117 |
+
<display_settings>
|
118 |
+
<enabled>1</enabled>
|
119 |
+
<position>left</position>
|
120 |
+
<category_level>0</category_level>
|
121 |
+
<show_type>static</show_type>
|
122 |
+
</display_settings>
|
123 |
+
</catsidebarnav>
|
124 |
+
</default>
|
125 |
+
<translate>
|
126 |
+
<modules>
|
127 |
+
<Magebuzz_Catsidebarnav>
|
128 |
+
<files>
|
129 |
+
<default>Magebuzz_Catsidebarnav.csv</default>
|
130 |
+
</files>
|
131 |
+
</Magebuzz_Catsidebarnav>
|
132 |
+
</modules>
|
133 |
+
</translate>
|
134 |
+
</config>
|
app/code/community/Matrix/Sidecat/etc/system.xml
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<matrix translate="label">
|
5 |
+
<label>Matrix</label>
|
6 |
+
<sort_order>400</sort_order>
|
7 |
+
</matrix>
|
8 |
+
</tabs>
|
9 |
+
<sections>
|
10 |
+
<sidecat translate="label" module="sidecat">
|
11 |
+
<label>Category Sidebar Listing</label>
|
12 |
+
<tab>matrix</tab>
|
13 |
+
<frontend_type>text</frontend_type>
|
14 |
+
<sort_order>299</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 |
+
<display_settings translate="label">
|
20 |
+
<label>General Setting</label>
|
21 |
+
<frontend_type>text</frontend_type>
|
22 |
+
<sort_order>1</sort_order>
|
23 |
+
<show_in_default>1</show_in_default>
|
24 |
+
<show_in_website>1</show_in_website>
|
25 |
+
<show_in_store>1</show_in_store>
|
26 |
+
<fields>
|
27 |
+
<enabled translate="label comment">
|
28 |
+
<label>Status Enabled</label>
|
29 |
+
<frontend_type>select</frontend_type>
|
30 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
31 |
+
<sort_order>1</sort_order>
|
32 |
+
<show_in_default>1</show_in_default>
|
33 |
+
<show_in_website>1</show_in_website>
|
34 |
+
<show_in_store>1</show_in_store>
|
35 |
+
</enabled>
|
36 |
+
<position translate="label comment">
|
37 |
+
<label>Sidebar position</label>
|
38 |
+
<frontend_type>select</frontend_type>
|
39 |
+
<source_model>sidecat/system_config_position</source_model>
|
40 |
+
<sort_order>2</sort_order>
|
41 |
+
<show_in_default>1</show_in_default>
|
42 |
+
<show_in_website>1</show_in_website>
|
43 |
+
<show_in_store>1</show_in_store>
|
44 |
+
<comment>Display list category on left (or right) sidebar</comment>
|
45 |
+
</position>
|
46 |
+
<category_level translate="label comment">
|
47 |
+
<label>No of sub categories</label>
|
48 |
+
<frontend_type>text</frontend_type>
|
49 |
+
<sort_order>3</sort_order>
|
50 |
+
<show_in_default>1</show_in_default>
|
51 |
+
<show_in_website>1</show_in_website>
|
52 |
+
<show_in_store>1</show_in_store>
|
53 |
+
<comment>Category level to show(0 - show all)</comment>
|
54 |
+
</category_level>
|
55 |
+
<show_type translate="label comment">
|
56 |
+
<label>Display type</label>
|
57 |
+
<frontend_type>select</frontend_type>
|
58 |
+
<source_model>sidecat/system_config_type</source_model>
|
59 |
+
<sort_order>4</sort_order>
|
60 |
+
<show_in_default>1</show_in_default>
|
61 |
+
<show_in_website>1</show_in_website>
|
62 |
+
<show_in_store>1</show_in_store>
|
63 |
+
</show_type>
|
64 |
+
<show_font translate="label comment">
|
65 |
+
<label>Text format</label>
|
66 |
+
<frontend_type>select</frontend_type>
|
67 |
+
<source_model>sidecat/system_config_font</source_model>
|
68 |
+
<sort_order>5</sort_order>
|
69 |
+
<show_in_default>1</show_in_default>
|
70 |
+
<show_in_website>1</show_in_website>
|
71 |
+
<show_in_store>1</show_in_store>
|
72 |
+
</show_font>
|
73 |
+
|
74 |
+
<category_color translate="label comment">
|
75 |
+
<label>Text color</label>
|
76 |
+
<frontend_type>text</frontend_type>
|
77 |
+
<sort_order>6</sort_order>
|
78 |
+
<show_in_default>1</show_in_default>
|
79 |
+
<show_in_website>1</show_in_website>
|
80 |
+
<show_in_store>1</show_in_store>
|
81 |
+
<comment>For eg. #000000</comment>
|
82 |
+
</category_color>
|
83 |
+
<category_background translate="label comment">
|
84 |
+
<label>Label background color</label>
|
85 |
+
<frontend_type>text</frontend_type>
|
86 |
+
<sort_order>7</sort_order>
|
87 |
+
<show_in_default>1</show_in_default>
|
88 |
+
<show_in_website>1</show_in_website>
|
89 |
+
<show_in_store>1</show_in_store>
|
90 |
+
<comment>For eg. #000000</comment>
|
91 |
+
</category_background>
|
92 |
+
|
93 |
+
<category_label translate="label comment">
|
94 |
+
<label>Label name</label>
|
95 |
+
<frontend_type>text</frontend_type>
|
96 |
+
<sort_order>8</sort_order>
|
97 |
+
<show_in_default>1</show_in_default>
|
98 |
+
<show_in_website>1</show_in_website>
|
99 |
+
<show_in_store>1</show_in_store>
|
100 |
+
</category_label>
|
101 |
+
<category_textColor translate="label comment">
|
102 |
+
<label>Label color</label>
|
103 |
+
<frontend_type>text</frontend_type>
|
104 |
+
<sort_order>9</sort_order>
|
105 |
+
<show_in_default>1</show_in_default>
|
106 |
+
<show_in_website>1</show_in_website>
|
107 |
+
<show_in_store>1</show_in_store>
|
108 |
+
<comment>For eg. #000000</comment>
|
109 |
+
</category_textColor>
|
110 |
+
</fields>
|
111 |
+
</display_settings>
|
112 |
+
</groups>
|
113 |
+
</sidecat>
|
114 |
+
</sections>
|
115 |
+
</config>
|
app/code/community/Matrix/Sidecat/etc/system.xml~
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<matrix translate="label">
|
5 |
+
<label>Matrix Add-ons</label>
|
6 |
+
<sort_order>400</sort_order>
|
7 |
+
</matrix>
|
8 |
+
</tabs>
|
9 |
+
<sections>
|
10 |
+
<sidecat translate="label" module="sidecat">
|
11 |
+
<label>Category Sidebar Navigation</label>
|
12 |
+
<tab>matrix</tab>
|
13 |
+
<frontend_type>text</frontend_type>
|
14 |
+
<sort_order>299</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 |
+
<display_settings translate="label">
|
20 |
+
<label>General Setting</label>
|
21 |
+
<frontend_type>text</frontend_type>
|
22 |
+
<sort_order>1</sort_order>
|
23 |
+
<show_in_default>1</show_in_default>
|
24 |
+
<show_in_website>1</show_in_website>
|
25 |
+
<show_in_store>1</show_in_store>
|
26 |
+
<fields>
|
27 |
+
<enabled translate="label comment">
|
28 |
+
<label>Enabled</label>
|
29 |
+
<frontend_type>select</frontend_type>
|
30 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
31 |
+
<sort_order>1</sort_order>
|
32 |
+
<show_in_default>1</show_in_default>
|
33 |
+
<show_in_website>1</show_in_website>
|
34 |
+
<show_in_store>1</show_in_store>
|
35 |
+
</enabled>
|
36 |
+
<position translate="label comment">
|
37 |
+
<label>Position of Sidebar</label>
|
38 |
+
<frontend_type>select</frontend_type>
|
39 |
+
<source_model>sidecat/system_config_position</source_model>
|
40 |
+
<sort_order>2</sort_order>
|
41 |
+
<show_in_default>1</show_in_default>
|
42 |
+
<show_in_website>1</show_in_website>
|
43 |
+
<show_in_store>1</show_in_store>
|
44 |
+
<comment>Display list category on left (or right) sidebar</comment>
|
45 |
+
</position>
|
46 |
+
<category_level translate="label comment">
|
47 |
+
<label>Category Depth</label>
|
48 |
+
<frontend_type>text</frontend_type>
|
49 |
+
<sort_order>3</sort_order>
|
50 |
+
<show_in_default>1</show_in_default>
|
51 |
+
<show_in_website>1</show_in_website>
|
52 |
+
<show_in_store>1</show_in_store>
|
53 |
+
<comment>Category level to show(0 - show all)</comment>
|
54 |
+
</category_level>
|
55 |
+
<show_type translate="label comment">
|
56 |
+
<label>Show Type</label>
|
57 |
+
<frontend_type>select</frontend_type>
|
58 |
+
<source_model>sidecat/system_config_type</source_model>
|
59 |
+
<sort_order>4</sort_order>
|
60 |
+
<show_in_default>1</show_in_default>
|
61 |
+
<show_in_website>1</show_in_website>
|
62 |
+
<show_in_store>1</show_in_store>
|
63 |
+
</show_type>
|
64 |
+
<show_font translate="label comment">
|
65 |
+
<label>Text-transform</label>
|
66 |
+
<frontend_type>select</frontend_type>
|
67 |
+
<source_model>sidecat/system_config_font</source_model>
|
68 |
+
<sort_order>5</sort_order>
|
69 |
+
<show_in_default>1</show_in_default>
|
70 |
+
<show_in_website>1</show_in_website>
|
71 |
+
<show_in_store>1</show_in_store>
|
72 |
+
</show_font>
|
73 |
+
|
74 |
+
<category_color translate="label comment">
|
75 |
+
<label>Color</label>
|
76 |
+
<frontend_type>text</frontend_type>
|
77 |
+
<sort_order>6</sort_order>
|
78 |
+
<show_in_default>1</show_in_default>
|
79 |
+
<show_in_website>1</show_in_website>
|
80 |
+
<show_in_store>1</show_in_store>
|
81 |
+
<comment>For eg. #000000</comment>
|
82 |
+
</category_color>
|
83 |
+
<category_background translate="label comment">
|
84 |
+
<label>Background Color</label>
|
85 |
+
<frontend_type>text</frontend_type>
|
86 |
+
<sort_order>7</sort_order>
|
87 |
+
<show_in_default>1</show_in_default>
|
88 |
+
<show_in_website>1</show_in_website>
|
89 |
+
<show_in_store>1</show_in_store>
|
90 |
+
<comment>For eg. #000000</comment>
|
91 |
+
</category_background>
|
92 |
+
|
93 |
+
<category_label translate="label comment">
|
94 |
+
<label>Label</label>
|
95 |
+
<frontend_type>text</frontend_type>
|
96 |
+
<sort_order>8</sort_order>
|
97 |
+
<show_in_default>1</show_in_default>
|
98 |
+
<show_in_website>1</show_in_website>
|
99 |
+
<show_in_store>1</show_in_store>
|
100 |
+
</category_label>
|
101 |
+
<category_textColor translate="label comment">
|
102 |
+
<label>Label</label>
|
103 |
+
<frontend_type>text</frontend_type>
|
104 |
+
<sort_order>9</sort_order>
|
105 |
+
<show_in_default>1</show_in_default>
|
106 |
+
<show_in_website>1</show_in_website>
|
107 |
+
<show_in_store>1</show_in_store>
|
108 |
+
</category_textColor>
|
109 |
+
</fields>
|
110 |
+
</display_settings>
|
111 |
+
</groups>
|
112 |
+
</sidecat>
|
113 |
+
</sections>
|
114 |
+
</config>
|
app/design/frontend/default/default/layout/sidecat.xml
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<default>
|
4 |
+
<reference name="left">
|
5 |
+
<block type="sidecat/sidecat" name="left.sidecat" before="-">
|
6 |
+
<action method="leftSidebarBlock" />
|
7 |
+
</block>
|
8 |
+
</reference>
|
9 |
+
<reference name="right">
|
10 |
+
<block type="sidecat/sidecat" name="right.sidecat" before="-">
|
11 |
+
<action method="rightSidebarBlock" />
|
12 |
+
</block>
|
13 |
+
</reference>
|
14 |
+
</default>
|
15 |
+
<sidecat_index_index>
|
16 |
+
<reference name="content">
|
17 |
+
<block type="sidecat/sidecat" name="sidecat" template="sidecat/sidecat.phtml" />
|
18 |
+
</reference>
|
19 |
+
</sidecat_index_index>
|
20 |
+
</layout>
|
app/design/frontend/default/default/template/sidecat/sidecat.phtml
ADDED
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $_helper = Mage::helper('sidecat'); ?>
|
2 |
+
<?php $showtype = $_helper->getShowType();?>
|
3 |
+
<?php
|
4 |
+
$show_font = $_helper->getShowFont();
|
5 |
+
$getCategoryColor = $_helper->getCategoryColor();
|
6 |
+
$getCategoryBg = $_helper->getCategoryBg();
|
7 |
+
$getCategoryLabel = $_helper->getCategoryLabel();
|
8 |
+
$getCategoryTextColor = $_helper->getCategoryTextColor();
|
9 |
+
?>
|
10 |
+
<?php echo "<style>
|
11 |
+
#sidenav li a {
|
12 |
+
text-transform: ".$show_font." !important;
|
13 |
+
color: ".$getCategoryColor." !important;
|
14 |
+
}
|
15 |
+
.sideNavBg{
|
16 |
+
background: ".$getCategoryBg." !important;
|
17 |
+
}
|
18 |
+
.catLabel{
|
19 |
+
color: ".$getCategoryTextColor." !important;
|
20 |
+
}
|
21 |
+
</style>"; ?>
|
22 |
+
<?php $_menu = $this->renderCategoriesMenuHtml(0,'level-top') ?>
|
23 |
+
<?php if($_helper->isEnabled()): ?>
|
24 |
+
<?php if($showtype == 'static'):?>
|
25 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/matrix/sidecat/static.css');?>" media="all" />
|
26 |
+
<?php if($_menu): ?>
|
27 |
+
<div class="block block-category-nav">
|
28 |
+
<div class="block-title sideNavBg">
|
29 |
+
<strong><span class="catLabel"><?php echo $getCategoryLabel; ?></span></strong>
|
30 |
+
</div>
|
31 |
+
<div class="block-content">
|
32 |
+
<ul id="sidenav">
|
33 |
+
<?php echo $_menu ?>
|
34 |
+
</ul>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
<?php endif ?>
|
38 |
+
<?php elseif ($showtype == 'click-2-click'):?>
|
39 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/matrix/sidecat/click.css');?>" media="all" />
|
40 |
+
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>
|
41 |
+
<script type="text/javascript">
|
42 |
+
var $j = jQuery.noConflict();
|
43 |
+
$j(document).ready(function () {
|
44 |
+
$j('#sidenav > li > a.show-cat').click(function(){
|
45 |
+
$j('#sidenav li ul').slideUp();
|
46 |
+
if (!$j(this).hasClass('active')){
|
47 |
+
$j(this).next().slideToggle();
|
48 |
+
$j('#sidenav li a.show-cat').removeClass('active');
|
49 |
+
$j(this).addClass('active');
|
50 |
+
}
|
51 |
+
else if ($j(this).hasClass('active')) {
|
52 |
+
$j(this).removeClass('active');
|
53 |
+
}
|
54 |
+
});
|
55 |
+
$j('#sidenav > li > ul > li > a.show-cat').click(function(){
|
56 |
+
$j('#sidenav li ul li ul').slideUp();
|
57 |
+
if (!$j(this).hasClass('active')){
|
58 |
+
$j(this).next().slideToggle();
|
59 |
+
$j('#sidenav li ul li a.show-cat').removeClass('active');
|
60 |
+
$j(this).addClass('active');
|
61 |
+
}
|
62 |
+
else if ($j(this).hasClass('active')) {
|
63 |
+
$j(this).removeClass('active');
|
64 |
+
}
|
65 |
+
});
|
66 |
+
});
|
67 |
+
</script>
|
68 |
+
<?php if($_menu): ?>
|
69 |
+
<div class="block block-category-nav">
|
70 |
+
<div class="block-title sideNavBg">
|
71 |
+
<strong><span class="catLabel"><?php echo $getCategoryLabel; ?></span></strong>
|
72 |
+
</div>
|
73 |
+
<div class="block-content">
|
74 |
+
<ul id="sidenav">
|
75 |
+
<?php echo $_menu ?>
|
76 |
+
</ul>
|
77 |
+
</div>
|
78 |
+
</div>
|
79 |
+
<?php endif ?>
|
80 |
+
<?php elseif ($showtype == 'fly-out'):?>
|
81 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/matrix/sidecat/fly-out.css')?>" media="screen">
|
82 |
+
<script type="text/javascript" src="<?php echo $this->getSkinUrl('js/matrix/sidecat/jquery-1.2.6.min.js')?>"></script>
|
83 |
+
<script type="text/javascript" src="<?php echo $this->getSkinUrl('js/matrix/sidecat/hoverIntent.js')?>"></script>
|
84 |
+
<script type="text/javascript" src="<?php echo $this->getSkinUrl('js/matrix/sidecat/superfish.js')?>"></script>
|
85 |
+
<script type="text/javascript">
|
86 |
+
jQuery.noConflict();
|
87 |
+
jQuery(function(){
|
88 |
+
jQuery('ul.sf-menu').superfish();
|
89 |
+
});
|
90 |
+
</script>
|
91 |
+
<?php if($_menu): ?>
|
92 |
+
<div class="block block-category-nav">
|
93 |
+
<div class="block-title sideNavBg">
|
94 |
+
<strong><span class="catLabel"><?php echo $getCategoryLabel; ?></span></strong>
|
95 |
+
</div>
|
96 |
+
<div class="block-content">
|
97 |
+
<ul class="sf-menu" id="left-nav">
|
98 |
+
<?php echo $_menu ?>
|
99 |
+
</ul>
|
100 |
+
</div>
|
101 |
+
</div>
|
102 |
+
<?php endif ?>
|
103 |
+
<?php endif ?>
|
104 |
+
<?php endif ?>
|
app/etc/modules/Matrix_Sidecat.xml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Matrix_Sidecat>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
</Matrix_Sidecat>
|
8 |
+
</modules>
|
9 |
+
</config>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>sidebar_category_listing</name>
|
4 |
-
<version>1.1.
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL</license>
|
7 |
<channel>community</channel>
|
@@ -22,11 +22,11 @@ Main features of this extension:
|
|
22 |
8. 24/7 Support
|
23 |
9. Free updates from time to time
|
24 |
</description>
|
25 |
-
<notes>
|
26 |
<authors><author><name>Matrix infologics</name><user>matrix</user><email>matrixinfologics@gmail.com</email></author></authors>
|
27 |
<date>2014-02-26</date>
|
28 |
-
<time>
|
29 |
-
<contents><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="sidecat.xml" hash=""/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Matrix_Sidecat.xml" hash=""/></dir></target></contents>
|
30 |
<compatible/>
|
31 |
<dependencies><required><php><min>4.1.1</min><max>5.4.1</max></php></required></dependencies>
|
32 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>sidebar_category_listing</name>
|
4 |
+
<version>1.1.3</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL</license>
|
7 |
<channel>community</channel>
|
22 |
8. 24/7 Support
|
23 |
9. Free updates from time to time
|
24 |
</description>
|
25 |
+
<notes>Third Release with color updates</notes>
|
26 |
<authors><author><name>Matrix infologics</name><user>matrix</user><email>matrixinfologics@gmail.com</email></author></authors>
|
27 |
<date>2014-02-26</date>
|
28 |
+
<time>10:24:45</time>
|
29 |
+
<contents><target name="magecommunity"><dir name="Matrix"><dir name="Sidecat"><dir name="Block"><file name="Sidebar.php" hash="a4d2b130d5792caf7587f7e73f573c80"/><file name="Sidebar.php~" hash="4088dbdf72f89c0a1d9b71c15779a429"/><file name="Sidecat.php" hash="49c3383940d13b618f44f43bcfd38eae"/><file name="Sidecat.php~" hash="94eaf506e26139bf2f9949d78582fea8"/></dir><dir name="Helper"><file name="Category.php" hash="30552383447919df47721ff9cb2afe42"/><file name="Category.php~" hash="2b9d7291653830969d232d58ea98e754"/><file name="Data.php" hash="f39f3db5a2b7ca71dcfea52d36fd738c"/><file name="Data.php~" hash="d360eb17b9aca0a7a99af9a3134dc744"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Sidecat"><file name="Collection.php" hash="620667bdff1a07bd1961a800f089c4d6"/><file name="Collection.php~" hash="cd82814f4021ac3ecdb9f51394d71046"/></dir><file name="Sidecat.php" hash="c9760bfb3becc78cbe4814c2fb4aa443"/><file name="Sidecat.php~" hash="913c1c2be3e2d5736190c1fbd841917f"/></dir><file name="Session.php" hash="0d372d277e2c3110c1865953b0d13e0e"/><file name="Session.php~" hash="a26bbbd765aa44ab1228c4c64daf52bf"/><file name="Sidecat.php" hash="646beae728f8536927d930652d0e189c"/><file name="Sidecat.php~" hash="0b43dc19c684b3ab974eb7bebcfd4102"/><file name="Status.php" hash="dc0a0a81a9c98637c83325386c0204fd"/><file name="Status.php~" hash="48ee9b59935a7d083685ff384a3f61e2"/><dir name="System"><dir name="Config"><file name="Font.php" hash="625c19037c454cc009a3de55fbfff64e"/><file name="Position.php" hash="e87351f3d923da8573ca0f0449bd9b0a"/><file name="Position.php~" hash="7eee11a78f3440a857a0c2d71ca70cda"/><file name="Showlevel.php" hash="91c3c9bc14030f3b7fbae3dc865586e3"/><file name="Showlevel.php~" hash="d8a9e30d1bd52474ef3703a5fb96128d"/><file name="Type.php" hash="5d0dc0005976656f79f9e10e730ff919"/><file name="Type.php~" hash="b113ef52d5863af047be5f8fbc1681f6"/></dir></dir><dir name="Wysiwyg"><file name="Config.php" hash="571e0f3e88026d4b5880742d66588c1e"/><file name="Config.php~" hash="6f59457a7e0ca5548e3d459950ff9d0c"/></dir></dir><dir name="controllers"><file name="IndexController.php" hash="95140f7359ed94fc7c69fdb3b297436f"/><file name="IndexController.php~" hash="28c3fe51908c33beb180fc34a1252a88"/></dir><dir name="etc"><file name="adminhtml.xml" hash="e5687b8082cbe1c88660e7111939db95"/><file name="adminhtml.xml~" hash="1d350724418c884ac3e561eb766ee984"/><file name="config.xml" hash="d1569abee7efe6d019880ed03b082094"/><file name="config.xml~" hash="b3b721abf55ade07b2dbe4909bf745f5"/><file name="system.xml" hash="8ea8b43abf2cac31ceb3b20966ae6b56"/><file name="system.xml~" hash="f70fe8dd2cceb56056154149da7acbc2"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="js"><dir name="matrix"><dir name="sidecat"><file name="hoverIntent.js" hash="1a27531c68df91ec891a075b0832c2e8"/><file name="jquery-1.2.6.min.js" hash="a9331828c517ac5d97f93b3cfdbcc9bc"/><file name="superfish.js" hash="fc0e58c643434b422425d32999e10fec"/></dir></dir></dir><dir name="css"><dir name="matrix"><dir name="sidecat"><file name="click.css" hash="84a4ef0f55d118f56b4695ad947869af"/><file name="fly-out.css" hash="9af59c42d604983ff5344b164656a36f"/><dir name="images"><file name="Thumbs.db" hash="cbc084b7d3d3b571c3cacf6f74d9f11d"/><file name="arrow.png" hash="e8e9d70926d376f3648b9774bc7ca5aa"/><file name="arrow_active.png" hash="4b4fd980e8d907ac96f74530f3b2947b"/><file name="bg_title.gif" hash="55d53ef258d04e2d64c26ceb2b3009e4"/><file name="sub_icon.gif" hash="36821f0d22f8c48a2f474097a424b928"/><file name="sub_icon_2.gif" hash="dbd0c9671b6adf1a894ee11a8fce79c6"/></dir><file name="static.css" hash="3a1372fe66fc5ac7e6c0b2b1edd8b450"/></dir></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="sidecat.xml" hash="d53b3bbe2548984d2e7f28012885e282"/></dir><dir name="template"><dir name="sidecat"><file name="sidecat.phtml" hash="032d3c3e0f20e6405ebde0f0d01f9ecf"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Matrix_Sidecat.xml" hash="b6925703053af0cde2b86780abb6259f"/></dir></target></contents>
|
30 |
<compatible/>
|
31 |
<dependencies><required><php><min>4.1.1</min><max>5.4.1</max></php></required></dependencies>
|
32 |
</package>
|
skin/frontend/default/default/css/matrix/sidecat/click.css
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/********Css For Category Sidebar Navigation ************/
|
2 |
+
.block-category-nav{border:0 none;}
|
3 |
+
.block-category-nav .block-title{background:#f7931d; border:0 none;padding: 5px 10px;border-radius: 5px 5px 0 0;}
|
4 |
+
.block-category-nav .block-title strong{color: #FFFFFF; display: block; padding:0; font: bold 13px/16px Arial,Helvetica,sans-serif; min-height: 16px;text-transform: capitalize;}
|
5 |
+
.block-category-nav .block-content{background:#FFFFFF; border:1px solid #DDDDDD; border-top:0 none; padding:0;}
|
6 |
+
#sidenav{}
|
7 |
+
#sidenav li{border-bottom:1px solid #DDDDDD; padding:3px 0;}
|
8 |
+
#sidenav li.last{border:0 none;}
|
9 |
+
/* #sidenav li:hover{background:#d9ecf2} */
|
10 |
+
#sidenav li a{font-size:12px; font-weight:normal; color:#333333; text-decoration:none; padding-left:10px;}
|
11 |
+
#sidenav li a.show-cat{background:url(images/arrow.png) center center no-repeat; padding-right:10px;}
|
12 |
+
#sidenav li a.active{background:url(images/arrow_active.png) center center no-repeat; padding-right:10px;}
|
13 |
+
#sidenav li a:hover{color:#f7931d;/* text-decoration:underline; */}
|
14 |
+
/* Level 0 */
|
15 |
+
#sidenav li.level-top{line-height:25px;}
|
16 |
+
#sidenav li.level-top a.level-top{ font-weight:bold;}
|
17 |
+
#sidenav li ul.level0{padding:0 10px; display:none;}
|
18 |
+
#sidenav li ul.level0 li{border-bottom:1px dotted #cacaca;}
|
19 |
+
#sidenav li ul.level0 li.last{border:0 none;}
|
20 |
+
/* Level 1 */
|
21 |
+
#sidenav li ul li ul{ display:none;padding:0 10px;}
|
22 |
+
#sidenav li ul li ul li a{color:#5a5a5a;}
|
skin/frontend/default/default/css/matrix/sidecat/fly-out.css
ADDED
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.block-category-nav{border:0 none;}
|
2 |
+
.block-category-nav .block-title{background:#f7931d; border:0 none;padding: 5px 10px;border-radius: 3px 3px 0 0;}
|
3 |
+
.block-category-nav .block-title strong{color: #FFFFFF; display: block; padding:0; font: bold 13px/16px Arial,Helvetica,sans-serif; min-height: 16px;text-transform: capitalize;}
|
4 |
+
.block-category-nav .block-content{background:#FFFFFF; border:1px solid #DDDDDD; border-top:0 none; padding:5px 10px;}
|
5 |
+
/*** ESSENTIAL STYLES ***/
|
6 |
+
.sf-menu, .sf-menu * {
|
7 |
+
margin: 0;
|
8 |
+
padding: 0;
|
9 |
+
list-style: none;
|
10 |
+
}
|
11 |
+
.sf-menu ul {
|
12 |
+
position: absolute;
|
13 |
+
top: -999em;
|
14 |
+
}
|
15 |
+
.sf-menu ul li {
|
16 |
+
/* width: 100%; */
|
17 |
+
}
|
18 |
+
.sf-menu li:hover {
|
19 |
+
visibility: inherit; /* fixes IE7 'sticky bug' */
|
20 |
+
}
|
21 |
+
.sf-menu li {
|
22 |
+
position: relative;
|
23 |
+
}
|
24 |
+
.sf-menu a {
|
25 |
+
display: block;
|
26 |
+
position: relative;
|
27 |
+
}
|
28 |
+
.sf-menu a:hover{color:#f26522}
|
29 |
+
.sf-menu li:hover ul,
|
30 |
+
.sf-menu li.sfHover ul {
|
31 |
+
background: none repeat scroll 0 0 #FFFFFF;
|
32 |
+
border: 1px solid #DDDDDD;
|
33 |
+
box-shadow: 3px 3px 3px #464646;
|
34 |
+
left: 185px;
|
35 |
+
padding:10px;
|
36 |
+
top: 2.5px;
|
37 |
+
width: 180px;
|
38 |
+
z-index: 99999;
|
39 |
+
}
|
40 |
+
ul.sf-menu li:hover li ul,
|
41 |
+
ul.sf-menu li.sfHover li ul {
|
42 |
+
top: -999em;
|
43 |
+
}
|
44 |
+
ul.sf-menu li li:hover ul,
|
45 |
+
ul.sf-menu li li.sfHover ul {
|
46 |
+
left: 185px; /* match ul width */
|
47 |
+
top: 0;
|
48 |
+
}
|
49 |
+
ul.sf-menu li li:hover li ul,
|
50 |
+
ul.sf-menu li li.sfHover li ul {
|
51 |
+
top: -999em;
|
52 |
+
}
|
53 |
+
ul.sf-menu li li li:hover ul,
|
54 |
+
ul.sf-menu li li li.sfHover ul {
|
55 |
+
left: 10em; /* match ul width */
|
56 |
+
top: 0;
|
57 |
+
}
|
58 |
+
|
59 |
+
/*** DEMO SKIN ***/
|
60 |
+
.sf-menu {}
|
61 |
+
.sf-menu a {font-size:13px; font-weight:normal; color:#333333; text-decoration:none;}
|
62 |
+
.sf-menu a, .sf-menu a:visited {}
|
63 |
+
.sf-menu li.last {background: none transparent!important;}
|
64 |
+
.sf-menu li {padding:3px 0;}
|
65 |
+
.sf-menu li li {
|
66 |
+
background:0 none;
|
67 |
+
width:100%;
|
68 |
+
float:left;
|
69 |
+
}
|
70 |
+
.sf-menu li li li {
|
71 |
+
|
72 |
+
}
|
73 |
+
.sf-menu li li li a:hover{color:#f26522}
|
74 |
+
.sf-menu li.sfHover,
|
75 |
+
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
|
76 |
+
outline: 0;
|
77 |
+
}
|
78 |
+
|
79 |
+
/*** arrows **/
|
80 |
+
.sf-menu a.sf-with-ul {min-width: 1px;}
|
81 |
+
.sf-menu li.parent a.sf-with-ul {background: url(images/sub_icon.gif) no-repeat scroll right center transparent;}
|
82 |
+
.sf-menu li.sfHover a{color:#595959;}
|
83 |
+
.sf-menu li.sfHover ul li a:hover{color:#f26522}
|
84 |
+
.sf-menu li.sfHover ul li.sfHover{/* background:#f26522!important; */}
|
85 |
+
.sf-menu li.sfHover li a{border:0 none;height: auto;}
|
86 |
+
.sf-menu li.sfHover li.parent li a{background: none transparent!important;}
|
87 |
+
.sf-menu li.sfHover li.parent a{
|
88 |
+
background: url(images/sub_icon_2.gif) no-repeat scroll right center transparent;
|
89 |
+
color: #595959;
|
90 |
+
margin-right: 10px;
|
91 |
+
}
|
92 |
+
.sf-menu li.sfHover li li a{color:#595959;}
|
93 |
+
.sf-menu li.sfHover ul li a{ padding-left: 0;padding-right: 10px;}
|
94 |
+
.sf-menu li.sfHover ul li.sfHover a.hover{ color:#f26522}
|
95 |
+
.sf-menu li.sfHover a.level-top .sf-sub-indicator{ background:0 none;}
|
96 |
+
a > .sf-sub-indicator { /* give all except IE6 the correct values */
|
97 |
+
|
98 |
+
}
|
99 |
+
/* apply hovers to modern browsers */
|
100 |
+
a:focus > .sf-sub-indicator,
|
101 |
+
a:hover > .sf-sub-indicator,
|
102 |
+
a:active > .sf-sub-indicator,
|
103 |
+
li:hover > a > .sf-sub-indicator,
|
104 |
+
li.sfHover > a > .sf-sub-indicator {
|
105 |
+
}
|
106 |
+
|
107 |
+
/* point right for anchors in subs */
|
108 |
+
.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
|
109 |
+
.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
|
110 |
+
/* apply hovers to modern browsers */
|
111 |
+
.sf-menu ul a:focus > .sf-sub-indicator,
|
112 |
+
.sf-menu ul a:hover > .sf-sub-indicator,
|
113 |
+
.sf-menu ul a:active > .sf-sub-indicator,
|
114 |
+
.sf-menu ul li:hover > a > .sf-sub-indicator,
|
115 |
+
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
116 |
+
background-position: -10px 0; /* arrow hovers for modern browsers*/
|
117 |
+
}
|
118 |
+
|
119 |
+
/*** shadows for all but IE6 ***/
|
120 |
+
.sf-shadow ul {
|
121 |
+
}
|
122 |
+
.sf-shadow ul.sf-shadow-off {
|
123 |
+
background: transparent;
|
124 |
+
}
|
skin/frontend/default/default/css/matrix/sidecat/images/Thumbs.db
ADDED
Binary file
|
skin/frontend/default/default/css/matrix/sidecat/images/arrow.png
ADDED
Binary file
|
skin/frontend/default/default/css/matrix/sidecat/images/arrow_active.png
ADDED
Binary file
|
skin/frontend/default/default/css/matrix/sidecat/images/bg_title.gif
ADDED
Binary file
|
skin/frontend/default/default/css/matrix/sidecat/images/sub_icon.gif
ADDED
Binary file
|
skin/frontend/default/default/css/matrix/sidecat/images/sub_icon_2.gif
ADDED
Binary file
|
skin/frontend/default/default/css/matrix/sidecat/static.css
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/********Css For Category Sidebar Navigation ************/
|
2 |
+
.block-category-nav{border:0 none;}
|
3 |
+
.block-category-nav .block-title{background:#f7931d; border:0 none;padding: 5px 10px;border-radius: 5px 5px 0 0;}
|
4 |
+
.block-category-nav .block-title strong{color: #FFFFFF; display: block; padding:0; font: bold 13px/16px Arial,Helvetica,sans-serif; min-height: 16px;text-transform: capitalize;}
|
5 |
+
.block-category-nav .block-content{background:#FFFFFF; border:1px solid #DDDDDD; border-top:0 none; padding:5px 10px;}
|
6 |
+
#sidenav{}
|
7 |
+
#sidenav li{border-bottom:1px solid #cacaca; padding:3px 0;}
|
8 |
+
#sidenav li.last{border:0 none;}
|
9 |
+
#sidenav li a{font-size:13px; font-weight:normal; color:#333333; text-decoration:none;}
|
10 |
+
#sidenav li a:hover{color:#f7931d;/* text-decoration:underline; */}
|
11 |
+
/* Level 0 */
|
12 |
+
#sidenav li.level-top a.level-top{ font-weight:bold;}
|
13 |
+
#sidenav li ul.level0{padding-left:10px;}
|
14 |
+
#sidenav li ul.level0 li{border-bottom:1px dotted #cacaca;}
|
15 |
+
#sidenav li ul.level0 li.last{border:0 none;}
|
16 |
+
/* Level 1 */
|
17 |
+
#sidenav li ul li ul{padding-left:10px;}
|
18 |
+
#sidenav li ul li ul li a{color:#5a5a5a;}
|
skin/frontend/default/default/js/matrix/sidecat/hoverIntent.js
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function($){
|
2 |
+
/* hoverIntent by Brian Cherne */
|
3 |
+
$.fn.hoverIntent = function(f,g) {
|
4 |
+
// default configuration options
|
5 |
+
var cfg = {
|
6 |
+
sensitivity: 7,
|
7 |
+
interval: 100,
|
8 |
+
timeout: 0
|
9 |
+
};
|
10 |
+
// override configuration options with user supplied object
|
11 |
+
cfg = $.extend(cfg, g ? { over: f, out: g } : f );
|
12 |
+
|
13 |
+
// instantiate variables
|
14 |
+
// cX, cY = current X and Y position of mouse, updated by mousemove event
|
15 |
+
// pX, pY = previous X and Y position of mouse, set by mouseover and polling interval
|
16 |
+
var cX, cY, pX, pY;
|
17 |
+
|
18 |
+
// A private function for getting mouse position
|
19 |
+
var track = function(ev) {
|
20 |
+
cX = ev.pageX;
|
21 |
+
cY = ev.pageY;
|
22 |
+
};
|
23 |
+
|
24 |
+
// A private function for comparing current and previous mouse position
|
25 |
+
var compare = function(ev,ob) {
|
26 |
+
ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
|
27 |
+
// compare mouse positions to see if they've crossed the threshold
|
28 |
+
if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {
|
29 |
+
$(ob).unbind("mousemove",track);
|
30 |
+
// set hoverIntent state to true (so mouseOut can be called)
|
31 |
+
ob.hoverIntent_s = 1;
|
32 |
+
return cfg.over.apply(ob,[ev]);
|
33 |
+
} else {
|
34 |
+
// set previous coordinates for next time
|
35 |
+
pX = cX; pY = cY;
|
36 |
+
// use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)
|
37 |
+
ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval );
|
38 |
+
}
|
39 |
+
};
|
40 |
+
|
41 |
+
// A private function for delaying the mouseOut function
|
42 |
+
var delay = function(ev,ob) {
|
43 |
+
ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
|
44 |
+
ob.hoverIntent_s = 0;
|
45 |
+
return cfg.out.apply(ob,[ev]);
|
46 |
+
};
|
47 |
+
|
48 |
+
// A private function for handling mouse 'hovering'
|
49 |
+
var handleHover = function(e) {
|
50 |
+
// next three lines copied from jQuery.hover, ignore children onMouseOver/onMouseOut
|
51 |
+
var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget;
|
52 |
+
while ( p && p != this ) { try { p = p.parentNode; } catch(e) { p = this; } }
|
53 |
+
if ( p == this ) { return false; }
|
54 |
+
|
55 |
+
// copy objects to be passed into t (required for event object to be passed in IE)
|
56 |
+
var ev = jQuery.extend({},e);
|
57 |
+
var ob = this;
|
58 |
+
|
59 |
+
// cancel hoverIntent timer if it exists
|
60 |
+
if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }
|
61 |
+
|
62 |
+
// else e.type == "onmouseover"
|
63 |
+
if (e.type == "mouseover") {
|
64 |
+
// set "previous" X and Y position based on initial entry point
|
65 |
+
pX = ev.pageX; pY = ev.pageY;
|
66 |
+
// update "current" X and Y position based on mousemove
|
67 |
+
$(ob).bind("mousemove",track);
|
68 |
+
// start polling interval (self-calling timeout) to compare mouse coordinates over time
|
69 |
+
if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}
|
70 |
+
|
71 |
+
// else e.type == "onmouseout"
|
72 |
+
} else {
|
73 |
+
// unbind expensive mousemove event
|
74 |
+
$(ob).unbind("mousemove",track);
|
75 |
+
// if hoverIntent state is true, then call the mouseOut function after the specified delay
|
76 |
+
if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}
|
77 |
+
}
|
78 |
+
};
|
79 |
+
|
80 |
+
// bind the function to the two event listeners
|
81 |
+
return this.mouseover(handleHover).mouseout(handleHover);
|
82 |
+
};
|
83 |
+
|
84 |
+
})(jQuery);
|
skin/frontend/default/default/js/matrix/sidecat/jquery-1.2.6.min.js
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* jQuery 1.2.6 - New Wave Javascript
|
3 |
+
*
|
4 |
+
* Copyright (c) 2008 John Resig (jquery.com)
|
5 |
+
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
6 |
+
* and GPL (GPL-LICENSE.txt) licenses.
|
7 |
+
*
|
8 |
+
* $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
|
9 |
+
* $Rev: 5685 $
|
10 |
+
*/
|
11 |
+
(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
|
12 |
+
return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
|
13 |
+
return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
|
14 |
+
selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
|
15 |
+
return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
|
16 |
+
this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
|
17 |
+
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
|
18 |
+
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&©&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
|
19 |
+
script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else
|
20 |
+
for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else
|
21 |
+
for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
|
22 |
+
jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
|
23 |
+
ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
|
24 |
+
while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else
|
25 |
+
while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
|
26 |
+
for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
|
27 |
+
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else
|
28 |
+
xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
|
29 |
+
jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
|
30 |
+
for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
|
31 |
+
s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
|
32 |
+
e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();
|
skin/frontend/default/default/js/matrix/sidecat/superfish.js
ADDED
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
/*
|
3 |
+
* Superfish v1.4.8 - jQuery menu widget
|
4 |
+
* Copyright (c) 2008 Joel Birch
|
5 |
+
*
|
6 |
+
* Dual licensed under the MIT and GPL licenses:
|
7 |
+
* http://www.opensource.org/licenses/mit-license.php
|
8 |
+
* http://www.gnu.org/licenses/gpl.html
|
9 |
+
*
|
10 |
+
* CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
|
11 |
+
*/
|
12 |
+
|
13 |
+
;(function($){
|
14 |
+
$.fn.superfish = function(op){
|
15 |
+
|
16 |
+
var sf = $.fn.superfish,
|
17 |
+
c = sf.c,
|
18 |
+
$arrow = $(['<span class="',c.arrowClass,'"></span>'].join('')),
|
19 |
+
over = function(){
|
20 |
+
var $$ = $(this), menu = getMenu($$);
|
21 |
+
clearTimeout(menu.sfTimer);
|
22 |
+
$$.showSuperfishUl().siblings().hideSuperfishUl();
|
23 |
+
},
|
24 |
+
out = function(){
|
25 |
+
var $$ = $(this), menu = getMenu($$), o = sf.op;
|
26 |
+
clearTimeout(menu.sfTimer);
|
27 |
+
menu.sfTimer=setTimeout(function(){
|
28 |
+
o.retainPath=($.inArray($$[0],o.$path)>-1);
|
29 |
+
$$.hideSuperfishUl();
|
30 |
+
if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
|
31 |
+
},o.delay);
|
32 |
+
},
|
33 |
+
getMenu = function($menu){
|
34 |
+
var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
|
35 |
+
sf.op = sf.o[menu.serial];
|
36 |
+
return menu;
|
37 |
+
},
|
38 |
+
addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
|
39 |
+
|
40 |
+
return this.each(function() {
|
41 |
+
var s = this.serial = sf.o.length;
|
42 |
+
var o = $.extend({},sf.defaults,op);
|
43 |
+
o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
|
44 |
+
$(this).addClass([o.hoverClass,c.bcClass].join(' '))
|
45 |
+
.filter('li:has(ul)').removeClass(o.pathClass);
|
46 |
+
});
|
47 |
+
sf.o[s] = sf.op = o;
|
48 |
+
|
49 |
+
$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
|
50 |
+
if (o.autoArrows) addArrow( $('>a:first-child',this) );
|
51 |
+
})
|
52 |
+
.not('.'+c.bcClass)
|
53 |
+
.hideSuperfishUl();
|
54 |
+
|
55 |
+
var $a = $('a',this);
|
56 |
+
$a.each(function(i){
|
57 |
+
var $li = $a.eq(i).parents('li');
|
58 |
+
$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
|
59 |
+
});
|
60 |
+
o.onInit.call(this);
|
61 |
+
|
62 |
+
}).each(function() {
|
63 |
+
var menuClasses = [c.menuClass];
|
64 |
+
if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
|
65 |
+
$(this).addClass(menuClasses.join(' '));
|
66 |
+
});
|
67 |
+
};
|
68 |
+
|
69 |
+
var sf = $.fn.superfish;
|
70 |
+
sf.o = [];
|
71 |
+
sf.op = {};
|
72 |
+
sf.IE7fix = function(){
|
73 |
+
var o = sf.op;
|
74 |
+
if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
|
75 |
+
this.toggleClass(sf.c.shadowClass+'-off');
|
76 |
+
};
|
77 |
+
sf.c = {
|
78 |
+
bcClass : 'sf-breadcrumb',
|
79 |
+
menuClass : 'sf-js-enabled',
|
80 |
+
anchorClass : 'sf-with-ul',
|
81 |
+
arrowClass : 'sf-sub-indicator',
|
82 |
+
shadowClass : 'sf-shadow'
|
83 |
+
};
|
84 |
+
sf.defaults = {
|
85 |
+
hoverClass : 'sfHover',
|
86 |
+
pathClass : 'overideThisToUse',
|
87 |
+
pathLevels : 1,
|
88 |
+
delay : 800,
|
89 |
+
animation : {opacity:'show'},
|
90 |
+
speed : 'normal',
|
91 |
+
autoArrows : true,
|
92 |
+
dropShadows : true,
|
93 |
+
disableHI : false, // true disables hoverIntent detection
|
94 |
+
onInit : function(){}, // callback functions
|
95 |
+
onBeforeShow: function(){},
|
96 |
+
onShow : function(){},
|
97 |
+
onHide : function(){}
|
98 |
+
};
|
99 |
+
$.fn.extend({
|
100 |
+
hideSuperfishUl : function(){
|
101 |
+
var o = sf.op,
|
102 |
+
not = (o.retainPath===true) ? o.$path : '';
|
103 |
+
o.retainPath = false;
|
104 |
+
var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
|
105 |
+
.find('>ul').hide().css('visibility','hidden');
|
106 |
+
o.onHide.call($ul);
|
107 |
+
return this;
|
108 |
+
},
|
109 |
+
showSuperfishUl : function(){
|
110 |
+
var o = sf.op,
|
111 |
+
sh = sf.c.shadowClass+'-off',
|
112 |
+
$ul = this.addClass(o.hoverClass)
|
113 |
+
.find('>ul:hidden').css('visibility','visible');
|
114 |
+
sf.IE7fix.call($ul);
|
115 |
+
o.onBeforeShow.call($ul);
|
116 |
+
$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
|
117 |
+
return this;
|
118 |
+
}
|
119 |
+
});
|
120 |
+
|
121 |
+
})(jQuery);
|