Version Notes
magento product Image gallery : is a brilliant concept for adding a gallery for product page . This module will convert your addition product images as per the slideshow / gallery style . This module is super slick and useful
Download this release
Release Info
Developer | Manvendra Sharma |
Extension | manv_imagegallery |
Version | 1.0.0.1 |
Comparing to | |
See all releases |
Version 1.0.0.1
- app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery.php +12 -0
- app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit.php +45 -0
- app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Form.php +19 -0
- app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Tab/Form.php +58 -0
- app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Tabs.php +24 -0
- app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Grid.php +116 -0
- app/code/local/Manv/Imagegallery/Block/Imagegallery.php +17 -0
- app/code/local/Manv/Imagegallery/Helper/Data.php +6 -0
- app/code/local/Manv/Imagegallery/Model/Imagegallery.php +10 -0
- app/code/local/Manv/Imagegallery/Model/Mysql4/Imagegallery.php +10 -0
- app/code/local/Manv/Imagegallery/Model/Mysql4/Imagegallery/Collection.php +10 -0
- app/code/local/Manv/Imagegallery/Model/Status.php +15 -0
- app/code/local/Manv/Imagegallery/controllers/Adminhtml/ImagegalleryController.php +214 -0
- app/code/local/Manv/Imagegallery/controllers/IndexController.php +47 -0
- app/code/local/Manv/Imagegallery/etc/config.xml +128 -0
- app/code/local/Manv/Imagegallery/sql/imagegallery_setup/mysql4-install-0.1.0.php +23 -0
- app/design/adminhtml/default/default/layout/imagegallery.xml +8 -0
- app/design/frontend/default/default/layout/imagegallery.xml +10 -0
- app/design/frontend/default/default/template/imagegallery/16.11.2013.test.phtml +123 -0
- app/design/frontend/default/default/template/imagegallery/16.12.2013.imagegallery.phtml +105 -0
- app/design/frontend/default/default/template/imagegallery/17.12.2013.test.phtml +187 -0
- app/design/frontend/default/default/template/imagegallery/copy of imagegallery.phtml +65 -0
- app/design/frontend/default/default/template/imagegallery/imagegallery.phtml +105 -0
- app/design/frontend/default/default/template/imagegallery/ok test.phtml +193 -0
- app/design/frontend/default/default/template/imagegallery/test.phtml +197 -0
- app/etc/modules/Manv_Imagegallery.xml +17 -0
- package.xml +18 -0
- skin/frontend/default/default/imagegallery_js/jquery-1.2.6.noConflict.min.js +36 -0
- skin/frontend/default/default/images/imagegallery_images/close.png +0 -0
- skin/frontend/default/default/images/imagegallery_images/left_1.png +0 -0
- skin/frontend/default/default/images/imagegallery_images/right_1.png +0 -0
app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Manv_Imagegallery_Block_Adminhtml_Imagegallery extends Mage_Adminhtml_Block_Widget_Grid_Container
|
3 |
+
{
|
4 |
+
public function __construct()
|
5 |
+
{
|
6 |
+
$this->_controller = 'adminhtml_imagegallery';
|
7 |
+
$this->_blockGroup = 'imagegallery';
|
8 |
+
$this->_headerText = Mage::helper('imagegallery')->__('Item Manager');
|
9 |
+
$this->_addButtonLabel = Mage::helper('imagegallery')->__('Add Item');
|
10 |
+
parent::__construct();
|
11 |
+
}
|
12 |
+
}
|
app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_Block_Adminhtml_Imagegallery_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
|
4 |
+
{
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
|
9 |
+
$this->_objectId = 'id';
|
10 |
+
$this->_blockGroup = 'imagegallery';
|
11 |
+
$this->_controller = 'adminhtml_imagegallery';
|
12 |
+
|
13 |
+
$this->_updateButton('save', 'label', Mage::helper('imagegallery')->__('Save Item'));
|
14 |
+
$this->_updateButton('delete', 'label', Mage::helper('imagegallery')->__('Delete Item'));
|
15 |
+
|
16 |
+
$this->_addButton('saveandcontinue', array(
|
17 |
+
'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
|
18 |
+
'onclick' => 'saveAndContinueEdit()',
|
19 |
+
'class' => 'save',
|
20 |
+
), -100);
|
21 |
+
|
22 |
+
$this->_formScripts[] = "
|
23 |
+
function toggleEditor() {
|
24 |
+
if (tinyMCE.getInstanceById('imagegallery_content') == null) {
|
25 |
+
tinyMCE.execCommand('mceAddControl', false, 'imagegallery_content');
|
26 |
+
} else {
|
27 |
+
tinyMCE.execCommand('mceRemoveControl', false, 'imagegallery_content');
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
function saveAndContinueEdit(){
|
32 |
+
editForm.submit($('edit_form').action+'back/edit/');
|
33 |
+
}
|
34 |
+
";
|
35 |
+
}
|
36 |
+
|
37 |
+
public function getHeaderText()
|
38 |
+
{
|
39 |
+
if( Mage::registry('imagegallery_data') && Mage::registry('imagegallery_data')->getId() ) {
|
40 |
+
return Mage::helper('imagegallery')->__("Edit Item '%s'", $this->htmlEscape(Mage::registry('imagegallery_data')->getTitle()));
|
41 |
+
} else {
|
42 |
+
return Mage::helper('imagegallery')->__('Add Item');
|
43 |
+
}
|
44 |
+
}
|
45 |
+
}
|
app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Form.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_Block_Adminhtml_Imagegallery_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
|
4 |
+
{
|
5 |
+
protected function _prepareForm()
|
6 |
+
{
|
7 |
+
$form = new Varien_Data_Form(array(
|
8 |
+
'id' => 'edit_form',
|
9 |
+
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
|
10 |
+
'method' => 'post',
|
11 |
+
'enctype' => 'multipart/form-data'
|
12 |
+
)
|
13 |
+
);
|
14 |
+
|
15 |
+
$form->setUseContainer(true);
|
16 |
+
$this->setForm($form);
|
17 |
+
return parent::_prepareForm();
|
18 |
+
}
|
19 |
+
}
|
app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Tab/Form.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_Block_Adminhtml_Imagegallery_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
|
4 |
+
{
|
5 |
+
protected function _prepareForm()
|
6 |
+
{
|
7 |
+
$form = new Varien_Data_Form();
|
8 |
+
$this->setForm($form);
|
9 |
+
$fieldset = $form->addFieldset('imagegallery_form', array('legend'=>Mage::helper('imagegallery')->__('Item information')));
|
10 |
+
|
11 |
+
$fieldset->addField('title', 'text', array(
|
12 |
+
'label' => Mage::helper('imagegallery')->__('Title'),
|
13 |
+
'class' => 'required-entry',
|
14 |
+
'required' => true,
|
15 |
+
'name' => 'title',
|
16 |
+
));
|
17 |
+
|
18 |
+
$fieldset->addField('filename', 'file', array(
|
19 |
+
'label' => Mage::helper('imagegallery')->__('File'),
|
20 |
+
'required' => false,
|
21 |
+
'name' => 'filename',
|
22 |
+
));
|
23 |
+
|
24 |
+
$fieldset->addField('status', 'select', array(
|
25 |
+
'label' => Mage::helper('imagegallery')->__('Status'),
|
26 |
+
'name' => 'status',
|
27 |
+
'values' => array(
|
28 |
+
array(
|
29 |
+
'value' => 1,
|
30 |
+
'label' => Mage::helper('imagegallery')->__('Enabled'),
|
31 |
+
),
|
32 |
+
|
33 |
+
array(
|
34 |
+
'value' => 2,
|
35 |
+
'label' => Mage::helper('imagegallery')->__('Disabled'),
|
36 |
+
),
|
37 |
+
),
|
38 |
+
));
|
39 |
+
|
40 |
+
$fieldset->addField('content', 'editor', array(
|
41 |
+
'name' => 'content',
|
42 |
+
'label' => Mage::helper('imagegallery')->__('Content'),
|
43 |
+
'title' => Mage::helper('imagegallery')->__('Content'),
|
44 |
+
'style' => 'width:700px; height:500px;',
|
45 |
+
'wysiwyg' => false,
|
46 |
+
'required' => true,
|
47 |
+
));
|
48 |
+
|
49 |
+
if ( Mage::getSingleton('adminhtml/session')->getImagegalleryData() )
|
50 |
+
{
|
51 |
+
$form->setValues(Mage::getSingleton('adminhtml/session')->getImagegalleryData());
|
52 |
+
Mage::getSingleton('adminhtml/session')->setImagegalleryData(null);
|
53 |
+
} elseif ( Mage::registry('imagegallery_data') ) {
|
54 |
+
$form->setValues(Mage::registry('imagegallery_data')->getData());
|
55 |
+
}
|
56 |
+
return parent::_prepareForm();
|
57 |
+
}
|
58 |
+
}
|
app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Edit/Tabs.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_Block_Adminhtml_Imagegallery_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
|
4 |
+
{
|
5 |
+
|
6 |
+
public function __construct()
|
7 |
+
{
|
8 |
+
parent::__construct();
|
9 |
+
$this->setId('imagegallery_tabs');
|
10 |
+
$this->setDestElementId('edit_form');
|
11 |
+
$this->setTitle(Mage::helper('imagegallery')->__('Item Information'));
|
12 |
+
}
|
13 |
+
|
14 |
+
protected function _beforeToHtml()
|
15 |
+
{
|
16 |
+
$this->addTab('form_section', array(
|
17 |
+
'label' => Mage::helper('imagegallery')->__('Item Information'),
|
18 |
+
'title' => Mage::helper('imagegallery')->__('Item Information'),
|
19 |
+
'content' => $this->getLayout()->createBlock('imagegallery/adminhtml_imagegallery_edit_tab_form')->toHtml(),
|
20 |
+
));
|
21 |
+
|
22 |
+
return parent::_beforeToHtml();
|
23 |
+
}
|
24 |
+
}
|
app/code/local/Manv/Imagegallery/Block/Adminhtml/Imagegallery/Grid.php
ADDED
@@ -0,0 +1,116 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_Block_Adminhtml_Imagegallery_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
4 |
+
{
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
parent::__construct();
|
8 |
+
$this->setId('imagegalleryGrid');
|
9 |
+
$this->setDefaultSort('imagegallery_id');
|
10 |
+
$this->setDefaultDir('ASC');
|
11 |
+
$this->setSaveParametersInSession(true);
|
12 |
+
}
|
13 |
+
|
14 |
+
protected function _prepareCollection()
|
15 |
+
{
|
16 |
+
$collection = Mage::getModel('imagegallery/imagegallery')->getCollection();
|
17 |
+
$this->setCollection($collection);
|
18 |
+
return parent::_prepareCollection();
|
19 |
+
}
|
20 |
+
|
21 |
+
protected function _prepareColumns()
|
22 |
+
{
|
23 |
+
$this->addColumn('imagegallery_id', array(
|
24 |
+
'header' => Mage::helper('imagegallery')->__('ID'),
|
25 |
+
'align' =>'right',
|
26 |
+
'width' => '50px',
|
27 |
+
'index' => 'imagegallery_id',
|
28 |
+
));
|
29 |
+
|
30 |
+
$this->addColumn('title', array(
|
31 |
+
'header' => Mage::helper('imagegallery')->__('Title'),
|
32 |
+
'align' =>'left',
|
33 |
+
'index' => 'title',
|
34 |
+
));
|
35 |
+
|
36 |
+
/*
|
37 |
+
$this->addColumn('content', array(
|
38 |
+
'header' => Mage::helper('imagegallery')->__('Item Content'),
|
39 |
+
'width' => '150px',
|
40 |
+
'index' => 'content',
|
41 |
+
));
|
42 |
+
*/
|
43 |
+
|
44 |
+
$this->addColumn('status', array(
|
45 |
+
'header' => Mage::helper('imagegallery')->__('Status'),
|
46 |
+
'align' => 'left',
|
47 |
+
'width' => '80px',
|
48 |
+
'index' => 'status',
|
49 |
+
'type' => 'options',
|
50 |
+
'options' => array(
|
51 |
+
1 => 'Enabled',
|
52 |
+
2 => 'Disabled',
|
53 |
+
),
|
54 |
+
));
|
55 |
+
|
56 |
+
$this->addColumn('action',
|
57 |
+
array(
|
58 |
+
'header' => Mage::helper('imagegallery')->__('Action'),
|
59 |
+
'width' => '100',
|
60 |
+
'type' => 'action',
|
61 |
+
'getter' => 'getId',
|
62 |
+
'actions' => array(
|
63 |
+
array(
|
64 |
+
'caption' => Mage::helper('imagegallery')->__('Edit'),
|
65 |
+
'url' => array('base'=> '*/*/edit'),
|
66 |
+
'field' => 'id'
|
67 |
+
)
|
68 |
+
),
|
69 |
+
'filter' => false,
|
70 |
+
'sortable' => false,
|
71 |
+
'index' => 'stores',
|
72 |
+
'is_system' => true,
|
73 |
+
));
|
74 |
+
|
75 |
+
$this->addExportType('*/*/exportCsv', Mage::helper('imagegallery')->__('CSV'));
|
76 |
+
$this->addExportType('*/*/exportXml', Mage::helper('imagegallery')->__('XML'));
|
77 |
+
|
78 |
+
return parent::_prepareColumns();
|
79 |
+
}
|
80 |
+
|
81 |
+
protected function _prepareMassaction()
|
82 |
+
{
|
83 |
+
$this->setMassactionIdField('imagegallery_id');
|
84 |
+
$this->getMassactionBlock()->setFormFieldName('imagegallery');
|
85 |
+
|
86 |
+
$this->getMassactionBlock()->addItem('delete', array(
|
87 |
+
'label' => Mage::helper('imagegallery')->__('Delete'),
|
88 |
+
'url' => $this->getUrl('*/*/massDelete'),
|
89 |
+
'confirm' => Mage::helper('imagegallery')->__('Are you sure?')
|
90 |
+
));
|
91 |
+
|
92 |
+
$statuses = Mage::getSingleton('imagegallery/status')->getOptionArray();
|
93 |
+
|
94 |
+
array_unshift($statuses, array('label'=>'', 'value'=>''));
|
95 |
+
$this->getMassactionBlock()->addItem('status', array(
|
96 |
+
'label'=> Mage::helper('imagegallery')->__('Change status'),
|
97 |
+
'url' => $this->getUrl('*/*/massStatus', array('_current'=>true)),
|
98 |
+
'additional' => array(
|
99 |
+
'visibility' => array(
|
100 |
+
'name' => 'status',
|
101 |
+
'type' => 'select',
|
102 |
+
'class' => 'required-entry',
|
103 |
+
'label' => Mage::helper('imagegallery')->__('Status'),
|
104 |
+
'values' => $statuses
|
105 |
+
)
|
106 |
+
)
|
107 |
+
));
|
108 |
+
return $this;
|
109 |
+
}
|
110 |
+
|
111 |
+
public function getRowUrl($row)
|
112 |
+
{
|
113 |
+
return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
114 |
+
}
|
115 |
+
|
116 |
+
}
|
app/code/local/Manv/Imagegallery/Block/Imagegallery.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Manv_Imagegallery_Block_Imagegallery extends Mage_Core_Block_Template
|
3 |
+
{
|
4 |
+
public function _prepareLayout()
|
5 |
+
{
|
6 |
+
return parent::_prepareLayout();
|
7 |
+
}
|
8 |
+
|
9 |
+
public function getImagegallery()
|
10 |
+
{
|
11 |
+
if (!$this->hasData('imagegallery')) {
|
12 |
+
$this->setData('imagegallery', Mage::registry('imagegallery'));
|
13 |
+
}
|
14 |
+
return $this->getData('imagegallery');
|
15 |
+
|
16 |
+
}
|
17 |
+
}
|
app/code/local/Manv/Imagegallery/Helper/Data.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_Helper_Data extends Mage_Core_Helper_Abstract
|
4 |
+
{
|
5 |
+
|
6 |
+
}
|
app/code/local/Manv/Imagegallery/Model/Imagegallery.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_Model_Imagegallery extends Mage_Core_Model_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
parent::_construct();
|
8 |
+
$this->_init('imagegallery/imagegallery');
|
9 |
+
}
|
10 |
+
}
|
app/code/local/Manv/Imagegallery/Model/Mysql4/Imagegallery.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_Model_Mysql4_Imagegallery extends Mage_Core_Model_Mysql4_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
// Note that the imagegallery_id refers to the key field in your database table.
|
8 |
+
$this->_init('imagegallery/imagegallery', 'imagegallery_id');
|
9 |
+
}
|
10 |
+
}
|
app/code/local/Manv/Imagegallery/Model/Mysql4/Imagegallery/Collection.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_Model_Mysql4_Imagegallery_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
4 |
+
{
|
5 |
+
public function _construct()
|
6 |
+
{
|
7 |
+
parent::_construct();
|
8 |
+
$this->_init('imagegallery/imagegallery');
|
9 |
+
}
|
10 |
+
}
|
app/code/local/Manv/Imagegallery/Model/Status.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_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('imagegallery')->__('Enabled'),
|
12 |
+
self::STATUS_DISABLED => Mage::helper('imagegallery')->__('Disabled')
|
13 |
+
);
|
14 |
+
}
|
15 |
+
}
|
app/code/local/Manv/Imagegallery/controllers/Adminhtml/ImagegalleryController.php
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Manv_Imagegallery_Adminhtml_ImagegalleryController extends Mage_Adminhtml_Controller_action
|
4 |
+
{
|
5 |
+
|
6 |
+
protected function _initAction() {
|
7 |
+
$this->loadLayout()
|
8 |
+
->_setActiveMenu('imagegallery/items')
|
9 |
+
->_addBreadcrumb(Mage::helper('adminhtml')->__('Items Manager'), Mage::helper('adminhtml')->__('Item Manager'));
|
10 |
+
|
11 |
+
return $this;
|
12 |
+
}
|
13 |
+
|
14 |
+
public function indexAction() {
|
15 |
+
$this->_initAction()
|
16 |
+
->renderLayout();
|
17 |
+
}
|
18 |
+
|
19 |
+
public function editAction() {
|
20 |
+
$id = $this->getRequest()->getParam('id');
|
21 |
+
$model = Mage::getModel('imagegallery/imagegallery')->load($id);
|
22 |
+
|
23 |
+
if ($model->getId() || $id == 0) {
|
24 |
+
$data = Mage::getSingleton('adminhtml/session')->getFormData(true);
|
25 |
+
if (!empty($data)) {
|
26 |
+
$model->setData($data);
|
27 |
+
}
|
28 |
+
|
29 |
+
Mage::register('imagegallery_data', $model);
|
30 |
+
|
31 |
+
$this->loadLayout();
|
32 |
+
$this->_setActiveMenu('imagegallery/items');
|
33 |
+
|
34 |
+
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
|
35 |
+
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
|
36 |
+
|
37 |
+
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
|
38 |
+
|
39 |
+
$this->_addContent($this->getLayout()->createBlock('imagegallery/adminhtml_imagegallery_edit'))
|
40 |
+
->_addLeft($this->getLayout()->createBlock('imagegallery/adminhtml_imagegallery_edit_tabs'));
|
41 |
+
|
42 |
+
$this->renderLayout();
|
43 |
+
} else {
|
44 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('imagegallery')->__('Item does not exist'));
|
45 |
+
$this->_redirect('*/*/');
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
public function newAction() {
|
50 |
+
$this->_forward('edit');
|
51 |
+
}
|
52 |
+
|
53 |
+
public function saveAction() {
|
54 |
+
if ($data = $this->getRequest()->getPost()) {
|
55 |
+
|
56 |
+
if(isset($_FILES['filename']['name']) && $_FILES['filename']['name'] != '') {
|
57 |
+
try {
|
58 |
+
/* Starting upload */
|
59 |
+
$uploader = new Varien_File_Uploader('filename');
|
60 |
+
|
61 |
+
// Any extention would work
|
62 |
+
$uploader->setAllowedExtensions(array('jpg','jpeg','gif','png'));
|
63 |
+
$uploader->setAllowRenameFiles(false);
|
64 |
+
|
65 |
+
// Set the file upload mode
|
66 |
+
// false -> get the file directly in the specified folder
|
67 |
+
// true -> get the file in the product like folders
|
68 |
+
// (file.jpg will go in something like /media/f/i/file.jpg)
|
69 |
+
$uploader->setFilesDispersion(false);
|
70 |
+
|
71 |
+
// We set media as the upload dir
|
72 |
+
$path = Mage::getBaseDir('media') . DS ;
|
73 |
+
$uploader->save($path, $_FILES['filename']['name'] );
|
74 |
+
|
75 |
+
} catch (Exception $e) {
|
76 |
+
|
77 |
+
}
|
78 |
+
|
79 |
+
//this way the name is saved in DB
|
80 |
+
$data['filename'] = $_FILES['filename']['name'];
|
81 |
+
}
|
82 |
+
|
83 |
+
|
84 |
+
$model = Mage::getModel('imagegallery/imagegallery');
|
85 |
+
$model->setData($data)
|
86 |
+
->setId($this->getRequest()->getParam('id'));
|
87 |
+
|
88 |
+
try {
|
89 |
+
if ($model->getCreatedTime == NULL || $model->getUpdateTime() == NULL) {
|
90 |
+
$model->setCreatedTime(now())
|
91 |
+
->setUpdateTime(now());
|
92 |
+
} else {
|
93 |
+
$model->setUpdateTime(now());
|
94 |
+
}
|
95 |
+
|
96 |
+
$model->save();
|
97 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('imagegallery')->__('Item was successfully saved'));
|
98 |
+
Mage::getSingleton('adminhtml/session')->setFormData(false);
|
99 |
+
|
100 |
+
if ($this->getRequest()->getParam('back')) {
|
101 |
+
$this->_redirect('*/*/edit', array('id' => $model->getId()));
|
102 |
+
return;
|
103 |
+
}
|
104 |
+
$this->_redirect('*/*/');
|
105 |
+
return;
|
106 |
+
} catch (Exception $e) {
|
107 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
108 |
+
Mage::getSingleton('adminhtml/session')->setFormData($data);
|
109 |
+
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
110 |
+
return;
|
111 |
+
}
|
112 |
+
}
|
113 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('imagegallery')->__('Unable to find item to save'));
|
114 |
+
$this->_redirect('*/*/');
|
115 |
+
}
|
116 |
+
|
117 |
+
public function deleteAction() {
|
118 |
+
if( $this->getRequest()->getParam('id') > 0 ) {
|
119 |
+
try {
|
120 |
+
$model = Mage::getModel('imagegallery/imagegallery');
|
121 |
+
|
122 |
+
$model->setId($this->getRequest()->getParam('id'))
|
123 |
+
->delete();
|
124 |
+
|
125 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Item was successfully deleted'));
|
126 |
+
$this->_redirect('*/*/');
|
127 |
+
} catch (Exception $e) {
|
128 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
129 |
+
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
130 |
+
}
|
131 |
+
}
|
132 |
+
$this->_redirect('*/*/');
|
133 |
+
}
|
134 |
+
|
135 |
+
public function massDeleteAction() {
|
136 |
+
$imagegalleryIds = $this->getRequest()->getParam('imagegallery');
|
137 |
+
if(!is_array($imagegalleryIds)) {
|
138 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select item(s)'));
|
139 |
+
} else {
|
140 |
+
try {
|
141 |
+
foreach ($imagegalleryIds as $imagegalleryId) {
|
142 |
+
$imagegallery = Mage::getModel('imagegallery/imagegallery')->load($imagegalleryId);
|
143 |
+
$imagegallery->delete();
|
144 |
+
}
|
145 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(
|
146 |
+
Mage::helper('adminhtml')->__(
|
147 |
+
'Total of %d record(s) were successfully deleted', count($imagegalleryIds)
|
148 |
+
)
|
149 |
+
);
|
150 |
+
} catch (Exception $e) {
|
151 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
152 |
+
}
|
153 |
+
}
|
154 |
+
$this->_redirect('*/*/index');
|
155 |
+
}
|
156 |
+
|
157 |
+
public function massStatusAction()
|
158 |
+
{
|
159 |
+
$imagegalleryIds = $this->getRequest()->getParam('imagegallery');
|
160 |
+
if(!is_array($imagegalleryIds)) {
|
161 |
+
Mage::getSingleton('adminhtml/session')->addError($this->__('Please select item(s)'));
|
162 |
+
} else {
|
163 |
+
try {
|
164 |
+
foreach ($imagegalleryIds as $imagegalleryId) {
|
165 |
+
$imagegallery = Mage::getSingleton('imagegallery/imagegallery')
|
166 |
+
->load($imagegalleryId)
|
167 |
+
->setStatus($this->getRequest()->getParam('status'))
|
168 |
+
->setIsMassupdate(true)
|
169 |
+
->save();
|
170 |
+
}
|
171 |
+
$this->_getSession()->addSuccess(
|
172 |
+
$this->__('Total of %d record(s) were successfully updated', count($imagegalleryIds))
|
173 |
+
);
|
174 |
+
} catch (Exception $e) {
|
175 |
+
$this->_getSession()->addError($e->getMessage());
|
176 |
+
}
|
177 |
+
}
|
178 |
+
$this->_redirect('*/*/index');
|
179 |
+
}
|
180 |
+
|
181 |
+
public function exportCsvAction()
|
182 |
+
{
|
183 |
+
$fileName = 'imagegallery.csv';
|
184 |
+
$content = $this->getLayout()->createBlock('imagegallery/adminhtml_imagegallery_grid')
|
185 |
+
->getCsv();
|
186 |
+
|
187 |
+
$this->_sendUploadResponse($fileName, $content);
|
188 |
+
}
|
189 |
+
|
190 |
+
public function exportXmlAction()
|
191 |
+
{
|
192 |
+
$fileName = 'imagegallery.xml';
|
193 |
+
$content = $this->getLayout()->createBlock('imagegallery/adminhtml_imagegallery_grid')
|
194 |
+
->getXml();
|
195 |
+
|
196 |
+
$this->_sendUploadResponse($fileName, $content);
|
197 |
+
}
|
198 |
+
|
199 |
+
protected function _sendUploadResponse($fileName, $content, $contentType='application/octet-stream')
|
200 |
+
{
|
201 |
+
$response = $this->getResponse();
|
202 |
+
$response->setHeader('HTTP/1.1 200 OK','');
|
203 |
+
$response->setHeader('Pragma', 'public', true);
|
204 |
+
$response->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true);
|
205 |
+
$response->setHeader('Content-Disposition', 'attachment; filename='.$fileName);
|
206 |
+
$response->setHeader('Last-Modified', date('r'));
|
207 |
+
$response->setHeader('Accept-Ranges', 'bytes');
|
208 |
+
$response->setHeader('Content-Length', strlen($content));
|
209 |
+
$response->setHeader('Content-type', $contentType);
|
210 |
+
$response->setBody($content);
|
211 |
+
$response->sendResponse();
|
212 |
+
die;
|
213 |
+
}
|
214 |
+
}
|
app/code/local/Manv/Imagegallery/controllers/IndexController.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Manv_Imagegallery_IndexController extends Mage_Core_Controller_Front_Action
|
3 |
+
{
|
4 |
+
public function indexAction()
|
5 |
+
{
|
6 |
+
|
7 |
+
/*
|
8 |
+
* Load an object by id
|
9 |
+
* Request looking like:
|
10 |
+
* http://site.com/imagegallery?id=15
|
11 |
+
* or
|
12 |
+
* http://site.com/imagegallery/id/15
|
13 |
+
*/
|
14 |
+
/*
|
15 |
+
$imagegallery_id = $this->getRequest()->getParam('id');
|
16 |
+
|
17 |
+
if($imagegallery_id != null && $imagegallery_id != '') {
|
18 |
+
$imagegallery = Mage::getModel('imagegallery/imagegallery')->load($imagegallery_id)->getData();
|
19 |
+
} else {
|
20 |
+
$imagegallery = null;
|
21 |
+
}
|
22 |
+
*/
|
23 |
+
|
24 |
+
/*
|
25 |
+
* If no param we load a the last created item
|
26 |
+
*/
|
27 |
+
/*
|
28 |
+
if($imagegallery == null) {
|
29 |
+
$resource = Mage::getSingleton('core/resource');
|
30 |
+
$read= $resource->getConnection('core_read');
|
31 |
+
$imagegalleryTable = $resource->getTableName('imagegallery');
|
32 |
+
|
33 |
+
$select = $read->select()
|
34 |
+
->from($imagegalleryTable,array('imagegallery_id','title','content','status'))
|
35 |
+
->where('status',1)
|
36 |
+
->order('created_time DESC') ;
|
37 |
+
|
38 |
+
$imagegallery = $read->fetchRow($select);
|
39 |
+
}
|
40 |
+
Mage::register('imagegallery', $imagegallery);
|
41 |
+
*/
|
42 |
+
|
43 |
+
|
44 |
+
$this->loadLayout();
|
45 |
+
$this->renderLayout();
|
46 |
+
}
|
47 |
+
}
|
app/code/local/Manv/Imagegallery/etc/config.xml
ADDED
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* @category Manv
|
5 |
+
* @package Manv_Imagegallery
|
6 |
+
* @author ModuleCreator
|
7 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
8 |
+
*/
|
9 |
+
-->
|
10 |
+
<config>
|
11 |
+
<modules>
|
12 |
+
<Manv_Imagegallery>
|
13 |
+
<version>0.1.0</version>
|
14 |
+
</Manv_Imagegallery>
|
15 |
+
</modules>
|
16 |
+
<frontend>
|
17 |
+
<routers>
|
18 |
+
<imagegallery>
|
19 |
+
<use>standard</use>
|
20 |
+
<args>
|
21 |
+
<module>Manv_Imagegallery</module>
|
22 |
+
<frontName>imagegallery</frontName>
|
23 |
+
</args>
|
24 |
+
</imagegallery>
|
25 |
+
</routers>
|
26 |
+
<layout>
|
27 |
+
<updates>
|
28 |
+
<imagegallery>
|
29 |
+
<file>imagegallery.xml</file>
|
30 |
+
</imagegallery>
|
31 |
+
</updates>
|
32 |
+
</layout>
|
33 |
+
</frontend>
|
34 |
+
<admin>
|
35 |
+
<routers>
|
36 |
+
<imagegallery>
|
37 |
+
<use>admin</use>
|
38 |
+
<args>
|
39 |
+
<module>Manv_Imagegallery</module>
|
40 |
+
<frontName>imagegallery</frontName>
|
41 |
+
</args>
|
42 |
+
</imagegallery>
|
43 |
+
</routers>
|
44 |
+
</admin>
|
45 |
+
<adminhtml>
|
46 |
+
<menu>
|
47 |
+
<imagegallery module="imagegallery">
|
48 |
+
<title>Imagegallery</title>
|
49 |
+
<sort_order>71</sort_order>
|
50 |
+
<children>
|
51 |
+
<items module="imagegallery">
|
52 |
+
<title>Manage Items</title>
|
53 |
+
<sort_order>0</sort_order>
|
54 |
+
<action>imagegallery/adminhtml_imagegallery</action>
|
55 |
+
</items>
|
56 |
+
</children>
|
57 |
+
</imagegallery>
|
58 |
+
</menu>
|
59 |
+
<acl>
|
60 |
+
<resources>
|
61 |
+
<all>
|
62 |
+
<title>Allow Everything</title>
|
63 |
+
</all>
|
64 |
+
<admin>
|
65 |
+
<children>
|
66 |
+
<Manv_Imagegallery>
|
67 |
+
<title>Imagegallery Module</title>
|
68 |
+
<sort_order>10</sort_order>
|
69 |
+
</Manv_Imagegallery>
|
70 |
+
</children>
|
71 |
+
</admin>
|
72 |
+
</resources>
|
73 |
+
</acl>
|
74 |
+
<layout>
|
75 |
+
<updates>
|
76 |
+
<imagegallery>
|
77 |
+
<file>imagegallery.xml</file>
|
78 |
+
</imagegallery>
|
79 |
+
</updates>
|
80 |
+
</layout>
|
81 |
+
</adminhtml>
|
82 |
+
<global>
|
83 |
+
<models>
|
84 |
+
<imagegallery>
|
85 |
+
<class>Manv_Imagegallery_Model</class>
|
86 |
+
<resourceModel>imagegallery_mysql4</resourceModel>
|
87 |
+
</imagegallery>
|
88 |
+
<imagegallery_mysql4>
|
89 |
+
<class>Manv_Imagegallery_Model_Mysql4</class>
|
90 |
+
<entities>
|
91 |
+
<imagegallery>
|
92 |
+
<table>imagegallery</table>
|
93 |
+
</imagegallery>
|
94 |
+
</entities>
|
95 |
+
</imagegallery_mysql4>
|
96 |
+
</models>
|
97 |
+
<resources>
|
98 |
+
<imagegallery_setup>
|
99 |
+
<setup>
|
100 |
+
<module>Manv_Imagegallery</module>
|
101 |
+
</setup>
|
102 |
+
<connection>
|
103 |
+
<use>core_setup</use>
|
104 |
+
</connection>
|
105 |
+
</imagegallery_setup>
|
106 |
+
<imagegallery_write>
|
107 |
+
<connection>
|
108 |
+
<use>core_write</use>
|
109 |
+
</connection>
|
110 |
+
</imagegallery_write>
|
111 |
+
<imagegallery_read>
|
112 |
+
<connection>
|
113 |
+
<use>core_read</use>
|
114 |
+
</connection>
|
115 |
+
</imagegallery_read>
|
116 |
+
</resources>
|
117 |
+
<blocks>
|
118 |
+
<imagegallery>
|
119 |
+
<class>Manv_Imagegallery_Block</class>
|
120 |
+
</imagegallery>
|
121 |
+
</blocks>
|
122 |
+
<helpers>
|
123 |
+
<imagegallery>
|
124 |
+
<class>Manv_Imagegallery_Helper</class>
|
125 |
+
</imagegallery>
|
126 |
+
</helpers>
|
127 |
+
</global>
|
128 |
+
</config>
|
app/code/local/Manv/Imagegallery/sql/imagegallery_setup/mysql4-install-0.1.0.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
|
5 |
+
$installer->startSetup();
|
6 |
+
|
7 |
+
$installer->run("
|
8 |
+
|
9 |
+
-- DROP TABLE IF EXISTS {$this->getTable('imagegallery')};
|
10 |
+
CREATE TABLE {$this->getTable('imagegallery')} (
|
11 |
+
`imagegallery_id` int(11) unsigned NOT NULL auto_increment,
|
12 |
+
`title` varchar(255) NOT NULL default '',
|
13 |
+
`filename` varchar(255) NOT NULL default '',
|
14 |
+
`content` text NOT NULL default '',
|
15 |
+
`status` smallint(6) NOT NULL default '0',
|
16 |
+
`created_time` datetime NULL,
|
17 |
+
`update_time` datetime NULL,
|
18 |
+
PRIMARY KEY (`imagegallery_id`)
|
19 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
20 |
+
|
21 |
+
");
|
22 |
+
|
23 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/layout/imagegallery.xml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<imagegallery_adminhtml_imagegallery_index>
|
4 |
+
<reference name="content">
|
5 |
+
<block type="imagegallery/adminhtml_imagegallery" name="imagegallery" />
|
6 |
+
</reference>
|
7 |
+
</imagegallery_adminhtml_imagegallery_index>
|
8 |
+
</layout>
|
app/design/frontend/default/default/layout/imagegallery.xml
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<default>
|
4 |
+
</default>
|
5 |
+
<imagegallery_index_index>
|
6 |
+
<reference name="content">
|
7 |
+
<block type="imagegallery/imagegallery" name="imagegallery" template="imagegallery/imagegallery.phtml" />
|
8 |
+
</reference>
|
9 |
+
</imagegallery_index_index>
|
10 |
+
</layout>
|
app/design/frontend/default/default/template/imagegallery/16.11.2013.test.phtml
ADDED
@@ -0,0 +1,123 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $connection = Mage::getSingleton('core/resource')->getConnection('core_write'); ?>
|
2 |
+
<?php
|
3 |
+
$result = $connection->query("select * from imagegallery");
|
4 |
+
echo $nr = $connection->fetchOne( 'SELECT COUNT(*) AS count FROM imagegallery' );
|
5 |
+
|
6 |
+
|
7 |
+
if (isset($_GET['pn'])) { // Get pn from URL vars if it is present
|
8 |
+
$pn = preg_replace('#[^0-9]#i', '', $_GET['pn']); // filter everything but numbers for security(new)
|
9 |
+
//$pn = ereg_replace("[^0-9]", "", $_GET['pn']); // filter everything but numbers for security(deprecated)
|
10 |
+
} else { // If the pn URL variable is not present force it to be value of page number 1
|
11 |
+
$pn = 1;
|
12 |
+
}
|
13 |
+
//This is where we set how many database items to show on each page
|
14 |
+
$itemsPerPage = 10;
|
15 |
+
// Get the value of the last page in the pagination result set
|
16 |
+
$lastPage = ceil($nr / $itemsPerPage);
|
17 |
+
// Be sure URL variable $pn(page number) is no lower than page 1 and no higher than $lastpage
|
18 |
+
if ($pn < 1) { // If it is less than 1
|
19 |
+
$pn = 1; // force if to be 1
|
20 |
+
} else if ($pn > $lastPage) { // if it is greater than $lastpage
|
21 |
+
$pn = $lastPage; // force it to be $lastpage's value
|
22 |
+
}
|
23 |
+
// This creates the numbers to click in between the next and back buttons
|
24 |
+
// This section is explained well in the video that accompanies this script
|
25 |
+
$centerPages = "";
|
26 |
+
$sub1 = $pn - 1;
|
27 |
+
$sub2 = $pn - 2;
|
28 |
+
$add1 = $pn + 1;
|
29 |
+
$add2 = $pn + 2;
|
30 |
+
if ($pn == 1) {
|
31 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
32 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
33 |
+
} else if ($pn == $lastPage) {
|
34 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
35 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
36 |
+
} else if ($pn > 2 && $pn < ($lastPage - 1)) {
|
37 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub2 . '">' . $sub2 . '</a> ';
|
38 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
39 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
40 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
41 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add2 . '">' . $add2 . '</a> ';
|
42 |
+
} else if ($pn > 1 && $pn < $lastPage) {
|
43 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
44 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
45 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
46 |
+
}
|
47 |
+
// This line sets the "LIMIT" range... the 2 values we place to choose a range of rows from database in our query
|
48 |
+
$limit = 'LIMIT ' .($pn - 1) * $itemsPerPage .',' .$itemsPerPage;
|
49 |
+
// Now we are going to run the same query as above but this time add $limit onto the end of the SQL syntax
|
50 |
+
// $sql2 is what we will use to fuel our while loop statement below
|
51 |
+
$sql2 = mysql_query("select * from imagegallery");
|
52 |
+
//////////////////////////////// END Adam's Pagination Logic ////////////////////////////////////////////////////////////////////////////////
|
53 |
+
///////////////////////////////////// Adam's Pagination Display Setup /////////////////////////////////////////////////////////////////////
|
54 |
+
$paginationDisplay = ""; // Initialize the pagination output variable
|
55 |
+
// This code runs only if the last page variable is ot equal to 1, if it is only 1 page we require no paginated links to display
|
56 |
+
if ($lastPage != "1"){
|
57 |
+
// This shows the user what page they are on, and the total number of pages
|
58 |
+
$paginationDisplay .= 'Page <strong>' . $pn . '</strong> of ' . $lastPage. ' ';
|
59 |
+
// If we are not on page 1 we can place the Back button
|
60 |
+
if ($pn != 1) {
|
61 |
+
$previous = $pn - 1;
|
62 |
+
$paginationDisplay .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $previous . '"> Back</a> ';
|
63 |
+
}
|
64 |
+
// Lay in the clickable numbers display here between the Back and Next links
|
65 |
+
$paginationDisplay .= '<span class="paginationNumbers">' . $centerPages . '</span>';
|
66 |
+
// If we are not on the very last page we can place the Next button
|
67 |
+
if ($pn != $lastPage) {
|
68 |
+
$nextPage = $pn + 1;
|
69 |
+
$paginationDisplay .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $nextPage . '"> Next</a> ';
|
70 |
+
}
|
71 |
+
}
|
72 |
+
///////////////////////////////////// END Adam's Pagination Display Setup ///////////////////////////////////////////////////////////////////////////
|
73 |
+
// Build the Output Section Here
|
74 |
+
|
75 |
+
$outputList = '';
|
76 |
+
while ($row = $result->fetch() )
|
77 |
+
{
|
78 |
+
|
79 |
+
$id = $row["imagegallery_id"];
|
80 |
+
$firstname = $row["content"];
|
81 |
+
$country = $row["filename"];
|
82 |
+
|
83 |
+
$outputList .= '<h1>' . $firstname . '</h1><h2>' . $country . ' </h2><hr />';
|
84 |
+
|
85 |
+
} // close while loop
|
86 |
+
?>
|
87 |
+
|
88 |
+
<style type="text/css">
|
89 |
+
<!--
|
90 |
+
.pagNumActive {
|
91 |
+
color: #000;
|
92 |
+
border:#060 1px solid; background-color: #D2FFD2; padding-left:3px; padding-right:3px;
|
93 |
+
}
|
94 |
+
.paginationNumbers a:link {
|
95 |
+
color: #000;
|
96 |
+
text-decoration: none;
|
97 |
+
border:#999 1px solid; background-color:#F0F0F0; padding-left:3px; padding-right:3px;
|
98 |
+
}
|
99 |
+
.paginationNumbers a:visited {
|
100 |
+
color: #000;
|
101 |
+
text-decoration: none;
|
102 |
+
border:#999 1px solid; background-color:#F0F0F0; padding-left:3px; padding-right:3px;
|
103 |
+
}
|
104 |
+
.paginationNumbers a:hover {
|
105 |
+
color: #000;
|
106 |
+
text-decoration: none;
|
107 |
+
border:#060 1px solid; background-color: #D2FFD2; padding-left:3px; padding-right:3px;
|
108 |
+
}
|
109 |
+
.paginationNumbers a:active {
|
110 |
+
color: #000;
|
111 |
+
text-decoration: none;
|
112 |
+
border:#999 1px solid; background-color:#F0F0F0; padding-left:3px; padding-right:3px;
|
113 |
+
}
|
114 |
+
-->
|
115 |
+
</style>
|
116 |
+
|
117 |
+
<div style="margin-left:64px; margin-right:64px;">
|
118 |
+
<h2>Total Items: <?php echo $nr; ?></h2>
|
119 |
+
</div>
|
120 |
+
<div style="margin-left:58px; margin-right:58px; padding:6px; background-color:#FFF; border:#999 1px solid;"><?php echo $paginationDisplay; ?></div>
|
121 |
+
<div style="margin-left:64px; margin-right:64px;"><?php print "$outputList"; ?></div>
|
122 |
+
<div style="margin-left:58px; margin-right:58px; padding:6px; background-color:#FFF; border:#999 1px solid;"><?php echo $paginationDisplay; ?></div>
|
123 |
+
|
app/design/frontend/default/default/template/imagegallery/16.12.2013.imagegallery.phtml
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script src="<?php echo $this->getSkinUrl('js/jquery-1.2.6.noConflict.min.js'); ?>" type="text/javascript" ></script>
|
2 |
+
<script type="text/javascript">
|
3 |
+
|
4 |
+
jQuery.noConflict();
|
5 |
+
function applyto(id) {
|
6 |
+
var c= '#mks'+id
|
7 |
+
jQuery(c).fadeIn(1000);
|
8 |
+
}
|
9 |
+
|
10 |
+
function applytoprev(x,y) {
|
11 |
+
jQuery('#mks'+x).hide();
|
12 |
+
jQuery('#mks'+y).show();
|
13 |
+
}
|
14 |
+
|
15 |
+
function applytonext(x,y) {
|
16 |
+
jQuery('#mks'+x).hide();
|
17 |
+
jQuery('#mks'+y).show();
|
18 |
+
}
|
19 |
+
</script>
|
20 |
+
|
21 |
+
|
22 |
+
<style type="text/css">
|
23 |
+
.blankdiv{background-color:#000;
|
24 |
+
position:fixed;
|
25 |
+
z-index: 9001;
|
26 |
+
top:0px; height:100%;
|
27 |
+
left:0px;
|
28 |
+
width:100%; opacity: 0.65;
|
29 |
+
filter:alpha(opacity=65);}
|
30 |
+
|
31 |
+
#popupform{height: 100%;
|
32 |
+
left: 0;
|
33 |
+
padding: 15px;
|
34 |
+
position: fixed;
|
35 |
+
top: 0;
|
36 |
+
width:97%;
|
37 |
+
z-index: 10001;
|
38 |
+
}
|
39 |
+
|
40 |
+
#popupform .applyform{position:relative; overflow:auto;
|
41 |
+
background-color:#fff;
|
42 |
+
width:510px;
|
43 |
+
height:500px; margin:5% auto auto auto;
|
44 |
+
z-index: 9002; padding:10px; border:10px solid #7F3814; }
|
45 |
+
|
46 |
+
|
47 |
+
#pclose{
|
48 |
+
|
49 |
+
|
50 |
+
cursor: pointer;
|
51 |
+
height: 25px;
|
52 |
+
margin: 5% auto -6%;
|
53 |
+
position: relative;
|
54 |
+
right: -276px;
|
55 |
+
|
56 |
+
top: 0;
|
57 |
+
width: 25px;
|
58 |
+
z-index: 9999;}
|
59 |
+
</style>
|
60 |
+
|
61 |
+
<h4><?php echo $this->__('Image Gallery') ?></h4>
|
62 |
+
<?php
|
63 |
+
$i = 0;
|
64 |
+
$collection = Mage::getModel('imagegallery/imagegallery')->getCollection();
|
65 |
+
$collection->setPageSize(25);
|
66 |
+
$collection->setCurPage(10);
|
67 |
+
$size = $collection->getSize();
|
68 |
+
$cnt = count($collection);
|
69 |
+
$vz=1;
|
70 |
+
foreach ($collection as $item)
|
71 |
+
{
|
72 |
+
$i = $i+1;
|
73 |
+
$item->setTitle($i);
|
74 |
+
// echo $item->getTitle();
|
75 |
+
// echo $filename = $item-> getFilename();
|
76 |
+
$filenaeme = $item-> getFilename();
|
77 |
+
?>
|
78 |
+
<?php $media_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA); ?>
|
79 |
+
<div style="float:left;border: 1px solid;
|
80 |
+
margin: 5px;">
|
81 |
+
<a href="javascript:void(0)" onclick="applyto('<?php echo $vz; ?>')"><img src="<?php echo $media_url.$filenaeme; ?>" height="100" width="100"/></a>
|
82 |
+
</div>
|
83 |
+
<div id="mks<?php echo $vz; ?>" style="display:none">
|
84 |
+
<div id="popupform">
|
85 |
+
<div class="blankdiv"></div>
|
86 |
+
<div id="pclose" onclick="javascript:document.getElementById('<?php echo 'mks'.$vz; ?>').style.display='none'">
|
87 |
+
<img src="<?php echo $this->getSkinUrl('images/close.png'); ?>" />
|
88 |
+
</div>
|
89 |
+
<div class="applyform">
|
90 |
+
<p id="contactArea">
|
91 |
+
<center>
|
92 |
+
<a href="javascript:void(0)" onclick="applytoprev('<?php echo $vz; ?>' ,'<?php echo $vz-1; ?>')"><img src="<?php echo $this->getSkinUrl('images/left_1.png'); ?>" /></a><?php echo $vz; ?>
|
93 |
+
<img src="<?php echo $media_url.$filenaeme; ?>" height="450" width="450" align="center"/>
|
94 |
+
<a href="javascript:void(0)" onclick="applytonext('<?php echo $vz; ?>' ,'<?php echo $vz+1; ?>')"><img src="<?php echo $this->getSkinUrl('images/right_1.png'); ?>" /></a>
|
95 |
+
</center>
|
96 |
+
</p>
|
97 |
+
</div>
|
98 |
+
</div>
|
99 |
+
</div>
|
100 |
+
<?php
|
101 |
+
$vz++;}
|
102 |
+
$collection->walk('save');
|
103 |
+
?>
|
104 |
+
|
105 |
+
|
app/design/frontend/default/default/template/imagegallery/17.12.2013.test.phtml
ADDED
@@ -0,0 +1,187 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script src="<?php echo $this->getSkinUrl('js/jquery-1.2.6.noConflict.min.js'); ?>" type="text/javascript" ></script>
|
2 |
+
<script type="text/javascript">
|
3 |
+
|
4 |
+
jQuery.noConflict();
|
5 |
+
function applyto(id) {
|
6 |
+
var c= '#mks'+id
|
7 |
+
jQuery(c).fadeIn(1000);
|
8 |
+
}
|
9 |
+
|
10 |
+
function applytoprev(x,y) {
|
11 |
+
jQuery('#mks'+x).hide();
|
12 |
+
jQuery('#mks'+y).show();
|
13 |
+
}
|
14 |
+
|
15 |
+
function applytonext(x,y) {
|
16 |
+
jQuery('#mks'+x).hide();
|
17 |
+
jQuery('#mks'+y).show();
|
18 |
+
}
|
19 |
+
</script>
|
20 |
+
|
21 |
+
|
22 |
+
<style type="text/css">
|
23 |
+
.blankdiv{background-color:#000;
|
24 |
+
position:fixed;
|
25 |
+
z-index: 9001;
|
26 |
+
top:0px; height:100%;
|
27 |
+
left:0px;
|
28 |
+
width:100%; opacity: 0.65;
|
29 |
+
filter:alpha(opacity=65);}
|
30 |
+
|
31 |
+
#popupform{height: 100%;
|
32 |
+
left: 0;
|
33 |
+
padding: 15px;
|
34 |
+
position: fixed;
|
35 |
+
top: 0;
|
36 |
+
width:97%;
|
37 |
+
z-index: 10001;
|
38 |
+
}
|
39 |
+
|
40 |
+
#popupform .applyform{position:relative; overflow:auto;
|
41 |
+
background-color:#fff;
|
42 |
+
width:510px;
|
43 |
+
height:500px; margin:5% auto auto auto;
|
44 |
+
z-index: 9002; padding:10px; border:10px solid #7F3814; }
|
45 |
+
|
46 |
+
|
47 |
+
#pclose{
|
48 |
+
|
49 |
+
|
50 |
+
cursor: pointer;
|
51 |
+
height: 25px;
|
52 |
+
margin: 5% auto -6%;
|
53 |
+
position: relative;
|
54 |
+
right: -276px;
|
55 |
+
|
56 |
+
top: 0;
|
57 |
+
width: 25px;
|
58 |
+
z-index: 9999;}
|
59 |
+
</style>
|
60 |
+
|
61 |
+
<h4><?php echo $this->__('Image Gallery') ?></h4>
|
62 |
+
<?php
|
63 |
+
$i = 0;
|
64 |
+
$collection = Mage::getModel('imagegallery/imagegallery')->getCollection();
|
65 |
+
$collection->setPageSize(25);
|
66 |
+
$collection->setCurPage(10);
|
67 |
+
$size = $collection->getSize();
|
68 |
+
$nr = count($collection);
|
69 |
+
|
70 |
+
|
71 |
+
if (isset($_GET['pn'])) { // Get pn from URL vars if it is present
|
72 |
+
$pn = preg_replace('#[^0-9]#i', '', $_GET['pn']); // filter everything but numbers for security(new)
|
73 |
+
//$pn = ereg_replace("[^0-9]", "", $_GET['pn']); // filter everything but numbers for security(deprecated)
|
74 |
+
} else { // If the pn URL variable is not present force it to be value of page number 1
|
75 |
+
$pn = 1;
|
76 |
+
}
|
77 |
+
//This is where we set how many database items to show on each page
|
78 |
+
$itemsPerPage = 3;
|
79 |
+
// Get the value of the last page in the pagination result set
|
80 |
+
$lastPage = ceil($nr / $itemsPerPage);
|
81 |
+
// Be sure URL variable $pn(page number) is no lower than page 1 and no higher than $lastpage
|
82 |
+
if ($pn < 1) { // If it is less than 1
|
83 |
+
$pn = 1; // force if to be 1
|
84 |
+
} else if ($pn > $lastPage) { // if it is greater than $lastpage
|
85 |
+
$pn = $lastPage; // force it to be $lastpage's value
|
86 |
+
}
|
87 |
+
// This creates the numbers to click in between the next and back buttons
|
88 |
+
// This section is explained well in the video that accompanies this script
|
89 |
+
$centerPages = "";
|
90 |
+
$sub1 = $pn - 1;
|
91 |
+
$sub2 = $pn - 2;
|
92 |
+
$add1 = $pn + 1;
|
93 |
+
$add2 = $pn + 2;
|
94 |
+
if ($pn == 1) {
|
95 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
96 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
97 |
+
} else if ($pn == $lastPage) {
|
98 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
99 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
100 |
+
} else if ($pn > 2 && $pn < ($lastPage - 1)) {
|
101 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub2 . '">' . $sub2 . '</a> ';
|
102 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
103 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
104 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
105 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add2 . '">' . $add2 . '</a> ';
|
106 |
+
} else if ($pn > 1 && $pn < $lastPage) {
|
107 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
108 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
109 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
110 |
+
}
|
111 |
+
// This line sets the "LIMIT" range... the 2 values we place to choose a range of rows from database in our query
|
112 |
+
$limit = 'LIMIT ' .($pn - 1) * $itemsPerPage .',' .$itemsPerPage;
|
113 |
+
// Now we are going to run the same query as above but this time add $limit onto the end of the SQL syntax
|
114 |
+
// $sql2 is what we will use to fuel our while loop statement below
|
115 |
+
$collection = Mage::getModel('imagegallery/imagegallery')->getCollection();
|
116 |
+
$paginationDisplay = ""; // Initialize the pagination output variable
|
117 |
+
// This code runs only if the last page variable is ot equal to 1, if it is only 1 page we require no paginated links to display
|
118 |
+
if ($lastPage != "1"){
|
119 |
+
// This shows the user what page they are on, and the total number of pages
|
120 |
+
$paginationDisplay .= 'Page <strong>' . $pn . '</strong> of ' . $lastPage. ' ';
|
121 |
+
// If we are not on page 1 we can place the Back button
|
122 |
+
if ($pn != 1) {
|
123 |
+
$previous = $pn - 1;
|
124 |
+
$paginationDisplay .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $previous . '"> Back</a> ';
|
125 |
+
}
|
126 |
+
// Lay in the clickable numbers display here between the Back and Next links
|
127 |
+
$paginationDisplay .= '<span class="paginationNumbers">' . $centerPages . '</span>';
|
128 |
+
// If we are not on the very last page we can place the Next button
|
129 |
+
if ($pn != $lastPage) {
|
130 |
+
$nextPage = $pn + 1;
|
131 |
+
$paginationDisplay .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $nextPage . '"> Next</a> ';
|
132 |
+
}
|
133 |
+
}
|
134 |
+
|
135 |
+
?>
|
136 |
+
|
137 |
+
<div style="margin-left:58px; margin-right:58px; padding:6px; background-color:#FFF; border:#999 1px solid;"><?php echo $paginationDisplay; ?></div>
|
138 |
+
|
139 |
+
<?php
|
140 |
+
|
141 |
+
$vz=1;
|
142 |
+
foreach ($collection as $item)
|
143 |
+
{
|
144 |
+
$i = $i+1;
|
145 |
+
$item->setTitle($i);
|
146 |
+
// echo $item->getTitle();
|
147 |
+
// echo $filename = $item-> getFilename();
|
148 |
+
$filenaeme = $item-> getFilename();
|
149 |
+
$outputList = '';
|
150 |
+
?>
|
151 |
+
|
152 |
+
<?php $media_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA); ?>
|
153 |
+
|
154 |
+
|
155 |
+
<div style="float:left;border: 1px solid;
|
156 |
+
margin: 5px;">
|
157 |
+
<a href="javascript:void(0)" onclick="applyto('<?php echo $vz; ?>')"><img src="<?php echo $media_url.$filenaeme; ?>" height="100" width="100"/></a>
|
158 |
+
</div>
|
159 |
+
<div id="mks<?php echo $vz; ?>" style="display:none">
|
160 |
+
<div id="popupform">
|
161 |
+
<div class="blankdiv"></div>
|
162 |
+
<div id="pclose" onclick="javascript:document.getElementById('<?php echo 'mks'.$vz; ?>').style.display='none'">
|
163 |
+
<img src="<?php echo $this->getSkinUrl('images/close.png'); ?>" />
|
164 |
+
</div>
|
165 |
+
<div class="applyform">
|
166 |
+
<p id="contactArea">
|
167 |
+
<center>
|
168 |
+
<a href="javascript:void(0)" onclick="applytoprev('<?php echo $vz; ?>' ,'<?php echo $vz-1; ?>')"><img src="<?php echo $this->getSkinUrl('images/left_1.png'); ?>" /></a><?php echo $vz; ?>
|
169 |
+
<img src="<?php echo $media_url.$filenaeme; ?>" height="450" width="450" align="center"/>
|
170 |
+
<a href="javascript:void(0)" onclick="applytonext('<?php echo $vz; ?>' ,'<?php echo $vz+1; ?>')"><img src="<?php echo $this->getSkinUrl('images/right_1.png'); ?>" /></a>
|
171 |
+
</center>
|
172 |
+
</p>
|
173 |
+
</div>
|
174 |
+
</div>
|
175 |
+
</div>
|
176 |
+
<?php
|
177 |
+
$vz++;}
|
178 |
+
$collection->walk('save');
|
179 |
+
?>
|
180 |
+
<div style="margin-left:64px; margin-right:64px;">
|
181 |
+
<h2>Total Items: <?php echo $nr; ?></h2>
|
182 |
+
</div>
|
183 |
+
|
184 |
+
<div style="margin-left:64px; margin-right:64px;"><?php print "$outputList"; ?></div>
|
185 |
+
<div style="margin-left:58px; margin-right:58px; padding:6px; background-color:#FFF; border:#999 1px solid;"><?php echo $paginationDisplay; ?></div>
|
186 |
+
|
187 |
+
|
app/design/frontend/default/default/template/imagegallery/copy of imagegallery.phtml
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h4><?php echo $this->__('Image Gallery') ?></h4>
|
2 |
+
<?php
|
3 |
+
|
4 |
+
/*
|
5 |
+
This shows how to load specific fields from a record in the database.
|
6 |
+
1) Note the load(15), this corresponds to saying "select * from table where table_id = 15"
|
7 |
+
2) You can then just use the get(fieldname) to pull specific data from the table.
|
8 |
+
3) If you have a field named news_id, then it becomes getNewsId, etc.
|
9 |
+
*/
|
10 |
+
/*
|
11 |
+
$news = Mage::getModel('imagegallery/imagegallery')->load(15);
|
12 |
+
echo $news->getNewsId();
|
13 |
+
echo $news->getTitle();
|
14 |
+
echo $news->getContent();
|
15 |
+
echo $news->getStatus();
|
16 |
+
*/
|
17 |
+
|
18 |
+
/*
|
19 |
+
This shows an alternate way of loading datas from a record using the database the "Magento Way" (using blocks and controller).
|
20 |
+
Uncomment blocks in /app/code/local/Namespace/Module/controllers/IndexController.php if you want to use it.
|
21 |
+
|
22 |
+
*/
|
23 |
+
/*
|
24 |
+
$object = $this->getImagegallery();
|
25 |
+
echo 'id: '.$object['test_id'].'<br/>';
|
26 |
+
echo 'title: '.$object['title'].'<br/>';
|
27 |
+
echo 'content: '.$object['content'].'<br/>';
|
28 |
+
echo 'status: '.$object['status'].'<br/>';
|
29 |
+
*/
|
30 |
+
|
31 |
+
|
32 |
+
/*
|
33 |
+
This shows how to load multiple rows in a collection and save a change to them.
|
34 |
+
1) The setPageSize function will load only 5 records per page and you can set the current Page with the setCurPage function.
|
35 |
+
2) The $collection->walk('save') allows you to save everything in the collection after all changes have been made.
|
36 |
+
*/
|
37 |
+
/*
|
38 |
+
$i = 0;
|
39 |
+
|
40 |
+
$collection = Mage::getModel('imagegallery/imagegallery')->getCollection();
|
41 |
+
$collection->setPageSize(5);
|
42 |
+
$collection->setCurPage(2);
|
43 |
+
$size = $collection->getSize();
|
44 |
+
$cnt = count($collection);
|
45 |
+
foreach ($collection as $item) {
|
46 |
+
$i = $i+1;
|
47 |
+
$item->setTitle($i);
|
48 |
+
echo $item->getTitle();
|
49 |
+
}
|
50 |
+
|
51 |
+
$collection->walk('save');
|
52 |
+
*/
|
53 |
+
|
54 |
+
/*
|
55 |
+
This shows how to load a single record and save a change.
|
56 |
+
1) Note the setTitle, this corresponds to the table field name, title, and then you pass it the text to change.
|
57 |
+
2) Call the save() function only on a single record.
|
58 |
+
*/
|
59 |
+
/*
|
60 |
+
$object = Mage::getModel('imagegallery/imagegallery')->load(1);
|
61 |
+
$object->setTitle('This is a changed title');
|
62 |
+
$object->save();
|
63 |
+
*/
|
64 |
+
|
65 |
+
?>
|
app/design/frontend/default/default/template/imagegallery/imagegallery.phtml
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script src="<?php echo $this->getSkinUrl('js/jquery-1.2.6.noConflict.min.js'); ?>" type="text/javascript" ></script>
|
2 |
+
<script type="text/javascript">
|
3 |
+
|
4 |
+
jQuery.noConflict();
|
5 |
+
function applyto(id) {
|
6 |
+
var c= '#mks'+id
|
7 |
+
jQuery(c).fadeIn(1000);
|
8 |
+
}
|
9 |
+
|
10 |
+
function applytoprev(x,y) {
|
11 |
+
jQuery('#mks'+x).hide();
|
12 |
+
jQuery('#mks'+y).show();
|
13 |
+
}
|
14 |
+
|
15 |
+
function applytonext(x,y) {
|
16 |
+
jQuery('#mks'+x).hide();
|
17 |
+
jQuery('#mks'+y).show();
|
18 |
+
}
|
19 |
+
</script>
|
20 |
+
|
21 |
+
|
22 |
+
<style type="text/css">
|
23 |
+
.blankdiv{background-color:#000;
|
24 |
+
position:fixed;
|
25 |
+
z-index: 9001;
|
26 |
+
top:0px; height:100%;
|
27 |
+
left:0px;
|
28 |
+
width:100%; opacity: 0.65;
|
29 |
+
filter:alpha(opacity=65);}
|
30 |
+
|
31 |
+
#popupform{height: 100%;
|
32 |
+
left: 0;
|
33 |
+
padding: 15px;
|
34 |
+
position: fixed;
|
35 |
+
top: 0;
|
36 |
+
width:97%;
|
37 |
+
z-index: 10001;
|
38 |
+
}
|
39 |
+
|
40 |
+
#popupform .applyform{position:relative; overflow:auto;
|
41 |
+
background-color:#fff;
|
42 |
+
width:510px;
|
43 |
+
height:500px; margin:5% auto auto auto;
|
44 |
+
z-index: 9002; padding:10px; border:10px solid #7F3814; }
|
45 |
+
|
46 |
+
|
47 |
+
#pclose{
|
48 |
+
|
49 |
+
|
50 |
+
cursor: pointer;
|
51 |
+
height: 25px;
|
52 |
+
margin: 5% auto -6%;
|
53 |
+
position: relative;
|
54 |
+
right: -276px;
|
55 |
+
|
56 |
+
top: 0;
|
57 |
+
width: 25px;
|
58 |
+
z-index: 9999;}
|
59 |
+
</style>
|
60 |
+
|
61 |
+
<h4><?php echo $this->__('Image Gallery') ?></h4>
|
62 |
+
<?php
|
63 |
+
$i = 0;
|
64 |
+
$collection = Mage::getModel('imagegallery/imagegallery')->getCollection();
|
65 |
+
$collection->setPageSize(25);
|
66 |
+
$collection->setCurPage(10);
|
67 |
+
$size = $collection->getSize();
|
68 |
+
$cnt = count($collection);
|
69 |
+
$vz=1;
|
70 |
+
foreach ($collection as $item)
|
71 |
+
{
|
72 |
+
$i = $i+1;
|
73 |
+
$item->setTitle($i);
|
74 |
+
// echo $item->getTitle();
|
75 |
+
// echo $filename = $item-> getFilename();
|
76 |
+
$filenaeme = $item-> getFilename();
|
77 |
+
?>
|
78 |
+
<?php $media_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA); ?>
|
79 |
+
<div style="float:left;border: 1px solid;
|
80 |
+
margin: 5px;">
|
81 |
+
<a href="javascript:void(0)" onclick="applyto('<?php echo $vz; ?>')"><img src="<?php echo $media_url.$filenaeme; ?>" height="100" width="100"/></a>
|
82 |
+
</div>
|
83 |
+
<div id="mks<?php echo $vz; ?>" style="display:none">
|
84 |
+
<div id="popupform">
|
85 |
+
<div class="blankdiv"></div>
|
86 |
+
<div id="pclose" onclick="javascript:document.getElementById('<?php echo 'mks'.$vz; ?>').style.display='none'">
|
87 |
+
<img src="<?php echo $this->getSkinUrl('images/close.png'); ?>" />
|
88 |
+
</div>
|
89 |
+
<div class="applyform">
|
90 |
+
<p id="contactArea">
|
91 |
+
<center>
|
92 |
+
<a href="javascript:void(0)" onclick="applytoprev('<?php echo $vz; ?>' ,'<?php echo $vz-1; ?>')"><img src="<?php echo $this->getSkinUrl('images/left_1.png'); ?>" /></a><?php echo $vz; ?>
|
93 |
+
<img src="<?php echo $media_url.$filenaeme; ?>" height="450" width="450" align="center"/>
|
94 |
+
<a href="javascript:void(0)" onclick="applytonext('<?php echo $vz; ?>' ,'<?php echo $vz+1; ?>')"><img src="<?php echo $this->getSkinUrl('images/right_1.png'); ?>" /></a>
|
95 |
+
</center>
|
96 |
+
</p>
|
97 |
+
</div>
|
98 |
+
</div>
|
99 |
+
</div>
|
100 |
+
<?php
|
101 |
+
$vz++;}
|
102 |
+
$collection->walk('save');
|
103 |
+
?>
|
104 |
+
|
105 |
+
|
app/design/frontend/default/default/template/imagegallery/ok test.phtml
ADDED
@@ -0,0 +1,193 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script src="<?php echo $this->getSkinUrl('js/jquery-1.2.6.noConflict.min.js'); ?>" type="text/javascript" ></script>
|
2 |
+
<script type="text/javascript">
|
3 |
+
|
4 |
+
jQuery.noConflict();
|
5 |
+
function applyto(id) {
|
6 |
+
var c= '#mks'+id
|
7 |
+
jQuery(c).fadeIn(1000);
|
8 |
+
}
|
9 |
+
|
10 |
+
function applytoprev(x,y) {
|
11 |
+
jQuery('#mks'+x).hide();
|
12 |
+
jQuery('#mks'+y).show();
|
13 |
+
}
|
14 |
+
|
15 |
+
function applytonext(x,y) {
|
16 |
+
jQuery('#mks'+x).hide();
|
17 |
+
jQuery('#mks'+y).show();
|
18 |
+
}
|
19 |
+
</script>
|
20 |
+
|
21 |
+
|
22 |
+
<style type="text/css">
|
23 |
+
.blankdiv{background-color:#000;
|
24 |
+
position:fixed;
|
25 |
+
z-index: 9001;
|
26 |
+
top:0px; height:100%;
|
27 |
+
left:0px;
|
28 |
+
width:100%; opacity: 0.65;
|
29 |
+
filter:alpha(opacity=65);}
|
30 |
+
|
31 |
+
#popupform{height: 100%;
|
32 |
+
left: 0;
|
33 |
+
padding: 15px;
|
34 |
+
position: fixed;
|
35 |
+
top: 0;
|
36 |
+
width:97%;
|
37 |
+
z-index: 10001;
|
38 |
+
}
|
39 |
+
|
40 |
+
#popupform .applyform{position:relative; overflow:auto;
|
41 |
+
background-color:#fff;
|
42 |
+
width:510px;
|
43 |
+
height:500px; margin:5% auto auto auto;
|
44 |
+
z-index: 9002; padding:10px; border:10px solid #7F3814; }
|
45 |
+
|
46 |
+
|
47 |
+
#pclose{
|
48 |
+
|
49 |
+
|
50 |
+
cursor: pointer;
|
51 |
+
height: 25px;
|
52 |
+
margin: 5% auto -6%;
|
53 |
+
position: relative;
|
54 |
+
right: -276px;
|
55 |
+
|
56 |
+
top: 0;
|
57 |
+
width: 25px;
|
58 |
+
z-index: 9999;}
|
59 |
+
</style>
|
60 |
+
<?php
|
61 |
+
|
62 |
+
mysql_connect("localhost","root","") or die (mysql_error());
|
63 |
+
mysql_select_db("manv_test") or die (mysql_error());
|
64 |
+
|
65 |
+
$sql = mysql_query("SELECT * FROM imagegallery");
|
66 |
+
|
67 |
+
echo $nr = mysql_num_rows($sql); // Get total of Num rows from the database query
|
68 |
+
if (isset($_GET['pn'])) { // Get pn from URL vars if it is present
|
69 |
+
$pn = preg_replace('#[^0-9]#i', '', $_GET['pn']); // filter everything but numbers for security(new)
|
70 |
+
|
71 |
+
} else {
|
72 |
+
$pn = 1;
|
73 |
+
}
|
74 |
+
|
75 |
+
$itemsPerPage = 15;
|
76 |
+
|
77 |
+
$lastPage = ceil($nr / $itemsPerPage);
|
78 |
+
|
79 |
+
if ($pn < 1) { // If it is less than 1
|
80 |
+
$pn = 1; // force if to be 1
|
81 |
+
} else if ($pn > $lastPage) { // if it is greater than $lastpage
|
82 |
+
$pn = $lastPage; // force it to be $lastpage's value
|
83 |
+
}
|
84 |
+
// This creates the numbers to click in between the next and back buttons
|
85 |
+
// This section is explained well in the video that accompanies this script
|
86 |
+
$centerPages = "";
|
87 |
+
$sub1 = $pn - 1;
|
88 |
+
$sub2 = $pn - 2;
|
89 |
+
$add1 = $pn + 1;
|
90 |
+
$add2 = $pn + 2;
|
91 |
+
if ($pn == 1) {
|
92 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
93 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
94 |
+
} else if ($pn == $lastPage) {
|
95 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
96 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
97 |
+
} else if ($pn > 2 && $pn < ($lastPage - 1)) {
|
98 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub2 . '">' . $sub2 . '</a> ';
|
99 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
100 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
101 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
102 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add2 . '">' . $add2 . '</a> ';
|
103 |
+
} else if ($pn > 1 && $pn < $lastPage) {
|
104 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
105 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
106 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
107 |
+
}
|
108 |
+
// This line sets the "LIMIT" range... the 2 values we place to choose a range of rows from database in our query
|
109 |
+
$limit = 'LIMIT ' .($pn - 1) * $itemsPerPage .',' .$itemsPerPage;
|
110 |
+
// Now we are going to run the same query as above but this time add $limit onto the end of the SQL syntax
|
111 |
+
// $sql2 is what we will use to fuel our while loop statement below
|
112 |
+
$sql2 = mysql_query("SELECT * from imagegallery ORDER BY imagegallery_id ASC $limit");
|
113 |
+
|
114 |
+
$paginationDisplay = ""; // Initialize the pagination output variable
|
115 |
+
// This code runs only if the last page variable is ot equal to 1, if it is only 1 page we require no paginated links to display
|
116 |
+
if ($lastPage != "1"){
|
117 |
+
// This shows the user what page they are on, and the total number of pages
|
118 |
+
$paginationDisplay .= 'Page <strong>' . $pn . '</strong> of ' . $lastPage. ' ';
|
119 |
+
// If we are not on page 1 we can place the Back button
|
120 |
+
if ($pn != 1) {
|
121 |
+
$previous = $pn - 1;
|
122 |
+
$paginationDisplay .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $previous . '"> Back</a> ';
|
123 |
+
}
|
124 |
+
// Lay in the clickable numbers display here between the Back and Next links
|
125 |
+
$paginationDisplay .= '<span class="paginationNumbers">' . $centerPages . '</span>';
|
126 |
+
// If we are not on the very last page we can place the Next button
|
127 |
+
if ($pn != $lastPage) {
|
128 |
+
$nextPage = $pn + 1;
|
129 |
+
$paginationDisplay .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $nextPage . '"> Next</a> ';
|
130 |
+
}
|
131 |
+
}
|
132 |
+
?>
|
133 |
+
|
134 |
+
|
135 |
+
<div style="margin-left:64px; margin-right:64px;">
|
136 |
+
<h2>Total Items: <?php echo $nr; ?></h2>
|
137 |
+
</div>
|
138 |
+
|
139 |
+
<div style="margin-left:58px; margin-right:58px; padding:6px; background-color:#FFF; border:#999 1px solid;"><?php echo $paginationDisplay; ?></div>
|
140 |
+
|
141 |
+
<?php
|
142 |
+
$outputList = '';
|
143 |
+
$vz=1;
|
144 |
+
$i = 0;
|
145 |
+
$i = $i+1;
|
146 |
+
while($row = mysql_fetch_array($sql2))
|
147 |
+
{
|
148 |
+
|
149 |
+
$id = $row["imagegallery_id"];
|
150 |
+
$firstname = $row["content"];
|
151 |
+
$country = $row["filename"];
|
152 |
+
$media_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
|
153 |
+
$img_src = $media_url.$country;
|
154 |
+
?>
|
155 |
+
<div style="margin-left:64px;float:left;">
|
156 |
+
<a href="javascript:void(0)" onclick="applyto('<?php echo $vz; ?>')"><img src="<?php echo $img_src; ?>" height="100" width="100"></a>
|
157 |
+
</div>
|
158 |
+
|
159 |
+
|
160 |
+
|
161 |
+
<div id="mks<?php echo $vz; ?>" style="display:none">
|
162 |
+
<div id="popupform">
|
163 |
+
<div class="blankdiv"></div>
|
164 |
+
<div id="pclose" onclick="javascript:document.getElementById('<?php echo 'mks'.$vz; ?>').style.display='none'">
|
165 |
+
<img src="<?php echo $this->getSkinUrl('images/close.png'); ?>" />
|
166 |
+
</div>
|
167 |
+
<div class="applyform">
|
168 |
+
<p id="contactArea">
|
169 |
+
|
170 |
+
<center>
|
171 |
+
<a href="javascript:void(0)" onclick="applytoprev('<?php echo $vz; ?>' ,'<?php echo $vz-1; ?>')"><img src="<?php echo $this->getSkinUrl('images/left_1.png'); ?>" /></a>
|
172 |
+
<img src="<?php echo $img_src; ?>" height="400" width="400">
|
173 |
+
<a href="javascript:void(0)" onclick="applytonext('<?php echo $vz; ?>' ,'<?php echo $vz+1; ?>')"><img src="<?php echo $this->getSkinUrl('images/right_1.png'); ?>" /></a>
|
174 |
+
</center>
|
175 |
+
|
176 |
+
</p>
|
177 |
+
</div>
|
178 |
+
</div>
|
179 |
+
</div>
|
180 |
+
<?php $vz++; }
|
181 |
+
?>
|
182 |
+
|
183 |
+
|
184 |
+
|
185 |
+
|
186 |
+
|
187 |
+
|
188 |
+
|
189 |
+
|
190 |
+
|
191 |
+
|
192 |
+
|
193 |
+
|
app/design/frontend/default/default/template/imagegallery/test.phtml
ADDED
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script src="<?php echo $this->getSkinUrl('imagegallery_js/jquery-1.2.6.noConflict.min.js'); ?>" type="text/javascript" ></script>
|
2 |
+
<script type="text/javascript">
|
3 |
+
|
4 |
+
jQuery.noConflict();
|
5 |
+
function applyto(id) {
|
6 |
+
var c= '#mks'+id
|
7 |
+
jQuery(c).fadeIn(1000);
|
8 |
+
}
|
9 |
+
|
10 |
+
function applytoprev(x,y) {
|
11 |
+
jQuery('#mks'+x).hide();
|
12 |
+
jQuery('#mks'+y).show();
|
13 |
+
}
|
14 |
+
|
15 |
+
function applytonext(x,y) {
|
16 |
+
jQuery('#mks'+x).hide();
|
17 |
+
jQuery('#mks'+y).show();
|
18 |
+
}
|
19 |
+
</script>
|
20 |
+
|
21 |
+
|
22 |
+
<style type="text/css">
|
23 |
+
.blankdiv{background-color:#000;
|
24 |
+
position:fixed;
|
25 |
+
z-index: 9001;
|
26 |
+
top:0px; height:100%;
|
27 |
+
left:0px;
|
28 |
+
width:100%; opacity: 0.65;
|
29 |
+
filter:alpha(opacity=65);}
|
30 |
+
|
31 |
+
#popupform{height: 100%;
|
32 |
+
left: 0;
|
33 |
+
padding: 15px;
|
34 |
+
position: fixed;
|
35 |
+
top: 0;
|
36 |
+
width:97%;
|
37 |
+
z-index: 10001;
|
38 |
+
}
|
39 |
+
|
40 |
+
#popupform .applyform{position:relative; overflow:auto;
|
41 |
+
background-color:#fff;
|
42 |
+
width:510px;
|
43 |
+
height:500px; margin:5% auto auto auto;
|
44 |
+
z-index: 9002; padding:10px; border:10px solid #7F3814; }
|
45 |
+
|
46 |
+
|
47 |
+
#pclose{
|
48 |
+
|
49 |
+
|
50 |
+
cursor: pointer;
|
51 |
+
height: 25px;
|
52 |
+
margin: 5% auto -6%;
|
53 |
+
position: relative;
|
54 |
+
right: -276px;
|
55 |
+
|
56 |
+
top: 0;
|
57 |
+
width: 25px;
|
58 |
+
z-index: 9999;}
|
59 |
+
</style>
|
60 |
+
<?php
|
61 |
+
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
62 |
+
|
63 |
+
|
64 |
+
$sql = $connection->query("select * from imagegallery");
|
65 |
+
echo $nr = $connection->fetchOne( 'SELECT COUNT(*) AS count FROM imagegallery' );
|
66 |
+
//$sql = mysql_query("SELECT * FROM imagegallery");
|
67 |
+
|
68 |
+
//echo $nr = mysql_num_rows($sql); // Get total of Num rows from the database query
|
69 |
+
if (isset($_GET['pn'])) { // Get pn from URL vars if it is present
|
70 |
+
$pn = preg_replace('#[^0-9]#i', '', $_GET['pn']); // filter everything but numbers for security(new)
|
71 |
+
|
72 |
+
} else {
|
73 |
+
$pn = 1;
|
74 |
+
}
|
75 |
+
|
76 |
+
$itemsPerPage = 15;
|
77 |
+
|
78 |
+
$lastPage = ceil($nr / $itemsPerPage);
|
79 |
+
|
80 |
+
if ($pn < 1) { // If it is less than 1
|
81 |
+
$pn = 1; // force if to be 1
|
82 |
+
} else if ($pn > $lastPage) { // if it is greater than $lastpage
|
83 |
+
$pn = $lastPage; // force it to be $lastpage's value
|
84 |
+
}
|
85 |
+
// This creates the numbers to click in between the next and back buttons
|
86 |
+
// This section is explained well in the video that accompanies this script
|
87 |
+
$centerPages = "";
|
88 |
+
$sub1 = $pn - 1;
|
89 |
+
$sub2 = $pn - 2;
|
90 |
+
$add1 = $pn + 1;
|
91 |
+
$add2 = $pn + 2;
|
92 |
+
if ($pn == 1) {
|
93 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
94 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
95 |
+
} else if ($pn == $lastPage) {
|
96 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
97 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
98 |
+
} else if ($pn > 2 && $pn < ($lastPage - 1)) {
|
99 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub2 . '">' . $sub2 . '</a> ';
|
100 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
101 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
102 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
103 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add2 . '">' . $add2 . '</a> ';
|
104 |
+
} else if ($pn > 1 && $pn < $lastPage) {
|
105 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
|
106 |
+
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
|
107 |
+
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
|
108 |
+
}
|
109 |
+
// This line sets the "LIMIT" range... the 2 values we place to choose a range of rows from database in our query
|
110 |
+
$limit = 'LIMIT ' .($pn - 1) * $itemsPerPage .',' .$itemsPerPage;
|
111 |
+
// Now we are going to run the same query as above but this time add $limit onto the end of the SQL syntax
|
112 |
+
// $sql2 is what we will use to fuel our while loop statement below
|
113 |
+
//$sql2 = mysql_query("SELECT * from imagegallery ORDER BY imagegallery_id ASC $limit");
|
114 |
+
$sql2 = $connection->query("select * from imagegallery ORDER BY imagegallery_id ASC $limit");
|
115 |
+
|
116 |
+
$paginationDisplay = ""; // Initialize the pagination output variable
|
117 |
+
// This code runs only if the last page variable is ot equal to 1, if it is only 1 page we require no paginated links to display
|
118 |
+
if ($lastPage != "1"){
|
119 |
+
// This shows the user what page they are on, and the total number of pages
|
120 |
+
$paginationDisplay .= 'Page <strong>' . $pn . '</strong> of ' . $lastPage. ' ';
|
121 |
+
// If we are not on page 1 we can place the Back button
|
122 |
+
if ($pn != 1) {
|
123 |
+
$previous = $pn - 1;
|
124 |
+
$paginationDisplay .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $previous . '"> Back</a> ';
|
125 |
+
}
|
126 |
+
// Lay in the clickable numbers display here between the Back and Next links
|
127 |
+
$paginationDisplay .= '<span class="paginationNumbers">' . $centerPages . '</span>';
|
128 |
+
// If we are not on the very last page we can place the Next button
|
129 |
+
if ($pn != $lastPage) {
|
130 |
+
$nextPage = $pn + 1;
|
131 |
+
$paginationDisplay .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $nextPage . '"> Next</a> ';
|
132 |
+
}
|
133 |
+
}
|
134 |
+
?>
|
135 |
+
|
136 |
+
|
137 |
+
<div style="margin-left:64px; margin-right:64px;">
|
138 |
+
<h2>Total Items: <?php echo $nr; ?></h2>
|
139 |
+
</div>
|
140 |
+
|
141 |
+
<div style="margin-left:58px; margin-right:58px; padding:6px; background-color:#FFF; border:#999 1px solid;"><?php echo $paginationDisplay; ?></div>
|
142 |
+
|
143 |
+
<?php
|
144 |
+
$outputList = '';
|
145 |
+
$vz=1;
|
146 |
+
$i = 0;
|
147 |
+
$i = $i+1;
|
148 |
+
|
149 |
+
|
150 |
+
while($row = $sql2->fetch())
|
151 |
+
{
|
152 |
+
|
153 |
+
$id = $row["imagegallery_id"];
|
154 |
+
$firstname = $row["content"];
|
155 |
+
$country = $row["filename"];
|
156 |
+
$media_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
|
157 |
+
$img_src = $media_url.$country;
|
158 |
+
?>
|
159 |
+
<div style="margin-left:64px;float:left;">
|
160 |
+
<a href="javascript:void(0)" onclick="applyto('<?php echo $vz; ?>')"><img src="<?php echo $img_src; ?>" height="100" width="100"></a>
|
161 |
+
</div>
|
162 |
+
|
163 |
+
|
164 |
+
|
165 |
+
<div id="mks<?php echo $vz; ?>" style="display:none">
|
166 |
+
<div id="popupform">
|
167 |
+
<div class="blankdiv"></div>
|
168 |
+
<div id="pclose" onclick="javascript:document.getElementById('<?php echo 'mks'.$vz; ?>').style.display='none'">
|
169 |
+
<img src="<?php echo $this->getSkinUrl('images/imagegallery_images/close.png'); ?>" />
|
170 |
+
</div>
|
171 |
+
<div class="applyform">
|
172 |
+
<p id="contactArea">
|
173 |
+
|
174 |
+
<center>
|
175 |
+
<a href="javascript:void(0)" onclick="applytoprev('<?php echo $vz; ?>' ,'<?php echo $vz-1; ?>')"><img src="<?php echo $this->getSkinUrl('images/imagegallery_images/left_1.png'); ?>" /></a>
|
176 |
+
<img src="<?php echo $img_src; ?>" height="400" width="400">
|
177 |
+
<a href="javascript:void(0)" onclick="applytonext('<?php echo $vz; ?>' ,'<?php echo $vz+1; ?>')"><img src="<?php echo $this->getSkinUrl('images/imagegallery_images/right_1.png'); ?>" /></a>
|
178 |
+
</center>
|
179 |
+
|
180 |
+
</p>
|
181 |
+
</div>
|
182 |
+
</div>
|
183 |
+
</div>
|
184 |
+
<?php $vz++; }
|
185 |
+
?>
|
186 |
+
|
187 |
+
|
188 |
+
|
189 |
+
|
190 |
+
|
191 |
+
|
192 |
+
|
193 |
+
|
194 |
+
|
195 |
+
|
196 |
+
|
197 |
+
|
app/etc/modules/Manv_Imagegallery.xml
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* @category Manv
|
5 |
+
* @package Manv_Imagegallery
|
6 |
+
* @author ModuleCreator
|
7 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
8 |
+
*/
|
9 |
+
-->
|
10 |
+
<config>
|
11 |
+
<modules>
|
12 |
+
<Manv_Imagegallery>
|
13 |
+
<active>true</active>
|
14 |
+
<codePool>local</codePool>
|
15 |
+
</Manv_Imagegallery>
|
16 |
+
</modules>
|
17 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>manv_imagegallery</name>
|
4 |
+
<version>1.0.0.1</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license>OSL</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>magento product Image gallery : is a brilliant concept for adding a gallery for product page . This module will convert your addition product images as per the slideshow / gallery style . This module is super slick and useful </summary>
|
10 |
+
<description>magento product Image gallery : is a brilliant concept for adding a gallery for product page . This module will convert your addition product images as per the slideshow / gallery style . This module is super slick and useful </description>
|
11 |
+
<notes>magento product Image gallery : is a brilliant concept for adding a gallery for product page . This module will convert your addition product images as per the slideshow / gallery style . This module is super slick and useful </notes>
|
12 |
+
<authors><author><name>Manvendra Sharma</name><user>sharmamanvendra</user><email>sharmamanvendra6@gmail.com</email></author></authors>
|
13 |
+
<date>2013-12-17</date>
|
14 |
+
<time>09:33:37</time>
|
15 |
+
<contents><target name="magelocal"><dir name="Manv"><dir name="Imagegallery"><dir name="Block"><dir name="Adminhtml"><dir name="Imagegallery"><dir name="Edit"><file name="Form.php" hash="31cf6c34c3446d7b7d38d5a38b2696cc"/><dir name="Tab"><file name="Form.php" hash="1b206918f15121c53106c902637d7994"/></dir><file name="Tabs.php" hash="d6023961439b40d3e3533dacf5ca4411"/></dir><file name="Edit.php" hash="bdc230fd01268d97b4361d5c2ce06828"/><file name="Grid.php" hash="e18dd220b7bfd74f56a114fb30a89ce2"/></dir><file name="Imagegallery.php" hash="d3e32f439b266f0b325eacb075b4a6e6"/></dir><file name="Imagegallery.php" hash="19d4ccd21057a08ed0533f8c74ae291f"/></dir><dir name="Helper"><file name="Data.php" hash="61af75ebaa8b0d8e5fd745fa97ec6527"/></dir><dir name="Model"><file name="Imagegallery.php" hash="32f1af393f7df45297ca9fb331937f56"/><dir name="Mysql4"><dir name="Imagegallery"><file name="Collection.php" hash="787daa0b6e614631cac41651eea6a635"/></dir><file name="Imagegallery.php" hash="63189d9b4b4e7897b5dc79d94cb61f4e"/></dir><file name="Status.php" hash="d5f7ee99ac39ea777accfb826ae46e66"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ImagegalleryController.php" hash="f236380300ea6bf8706999437b24dc4a"/></dir><file name="IndexController.php" hash="c14a01ac59ed22f5a2eb7af5871bd2c5"/></dir><dir name="etc"><file name="config.xml" hash="5bead007fcd5728f7f2174cf2f02db1a"/></dir><dir name="sql"><dir name="imagegallery_setup"><file name="mysql4-install-0.1.0.php" hash="ba63d30d344610a134f764aa976c0bd8"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="imagegallery"><file name="16.11.2013.test.phtml" hash="6dd6754eb860c4746fa0125a9405ec82"/><file name="16.12.2013.imagegallery.phtml" hash="57f8b751d424987ac440106863993149"/><file name="17.12.2013.test.phtml" hash="faa0d0c1393aada84dd61a6a6b4bcdec"/><file name="copy of imagegallery.phtml" hash="e2cdcc6a2c49a5e2e8be9b97ae4dad08"/><file name="imagegallery.phtml" hash="57f8b751d424987ac440106863993149"/><file name="ok test.phtml" hash="264e1472ce570cc397cdc430ca23f5e9"/><file name="test.phtml" hash="e37963760fd64c5bb67dcd2607733273"/></dir></dir><dir name="layout"><file name="imagegallery.xml" hash="54a50f9f3a7dfa8e094c6f4a8f735540"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="imagegallery.xml" hash="3b887015bdb7c0dce4a89f72bf160b3f"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="images"><dir name="imagegallery_images"><file name="close.png" hash="7e1e4fe9697be548050b612c84df15d7"/><file name="left_1.png" hash="70604f05151344b82eb8727bf917d992"/><file name="right_1.png" hash="8d90f2d7ba1b5ff56e093c5c48950cfd"/></dir></dir><dir name="imagegallery_js"><file name="jquery-1.2.6.noConflict.min.js" hash="34c0f327c9bd8215df7206bf57c2868f"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Manv_Imagegallery.xml" hash="61c1299be32d64f49a3e6bc26f21e0c7"/></dir></target></contents>
|
16 |
+
<compatible/>
|
17 |
+
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
+
</package>
|
skin/frontend/default/default/imagegallery_js/jquery-1.2.6.noConflict.min.js
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
|
12 |
+
|
13 |
+
(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
|
14 |
+
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
|
15 |
+
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
|
16 |
+
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
|
17 |
+
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
|
18 |
+
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
|
19 |
+
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
|
20 |
+
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
|
21 |
+
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
|
22 |
+
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
|
23 |
+
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
|
24 |
+
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
|
25 |
+
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
|
26 |
+
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
|
27 |
+
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
|
28 |
+
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
|
29 |
+
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
|
30 |
+
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
|
31 |
+
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
|
32 |
+
for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
|
33 |
+
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
|
34 |
+
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);};});})();
|
35 |
+
|
36 |
+
jQuery.noConflict();
|
skin/frontend/default/default/images/imagegallery_images/close.png
ADDED
Binary file
|
skin/frontend/default/default/images/imagegallery_images/left_1.png
ADDED
Binary file
|
skin/frontend/default/default/images/imagegallery_images/right_1.png
ADDED
Binary file
|