feat(deployed): add mod_xpertscroller 3.10-1 (no-source, vetted live)
XpertScroller module (ThemeXpert); registration-gated vendor -> deployed files. Signed-off-by: LÁZÁR Imre <imre@illusion.hu> Assisted-by: claude-code@claude-opus-4-8
This commit is contained in:
parent
3ea10c68ae
commit
34f29e461d
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
@ -0,0 +1,129 @@
|
||||
/**
|
||||
* @package XpertScroller
|
||||
* @version 3.10-1-GFF3CA2D
|
||||
* @author ThemeXpert http://www.themexpert.com
|
||||
* @copyright Copyright (C) 2009 - 2011 ThemeXpert
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
|
||||
*
|
||||
*/
|
||||
.clearfix { *zoom: 1; }
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
.clearfix:after { clear: both; }
|
||||
|
||||
/*
|
||||
root element for the scrollable.
|
||||
when scrolling occurs this element stays still.
|
||||
*/
|
||||
.scroller {
|
||||
/* required settings */
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
/* custom decorations */
|
||||
}
|
||||
|
||||
.scroller .items {
|
||||
/* this cannot be too large */
|
||||
position:absolute;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
.item:hover{background: #f5f5f5;}
|
||||
.padding{padding: 10px;}
|
||||
.scroller .item{padding:0}
|
||||
.item h4{font-size: 15px; margin: 5px 0;}
|
||||
.item h4 a{text-decoration: none;}
|
||||
.item .xs_category{ font-size: 12px; color: #999;}
|
||||
.xs_intro{font-size: 12px;}
|
||||
|
||||
/* single scrollable item */
|
||||
/*@media (max-width: 767px) {
|
||||
.scroller img {width: 100% !important;}
|
||||
}*/
|
||||
/*Image postion left*/
|
||||
img.left{float: left; margin-right: 15px; height: 100%;}
|
||||
/*Image postion right*/
|
||||
img.right{float: right; margin-left: 15px; height: 100%;}
|
||||
|
||||
/* active item */
|
||||
.scroller .items .active {
|
||||
position:relative;
|
||||
cursor:default;
|
||||
}
|
||||
.cloned { display: none;}
|
||||
/*Navigation Button common class*/
|
||||
a.browse {
|
||||
background:url(../img/hori_large.png) no-repeat -2px -1px;
|
||||
display:inline-block;
|
||||
width:30px;
|
||||
height:30px;
|
||||
cursor:pointer;
|
||||
font-size:1px;
|
||||
}
|
||||
/*Basic Horizontal Style*/
|
||||
.basic_h .items .pane {float:left;}
|
||||
.basic_h .pane .item{float: left;}
|
||||
|
||||
/* this makes it possible to add next button beside scrollable */
|
||||
.basic_h .scroller {display: inline-block; vertical-align: top;}
|
||||
|
||||
/* right */
|
||||
.basic_h a.next { background-position: -2px -34px; clear:right; margin-right: 0px;}
|
||||
.basic_h a.next:hover { background-position: -37px -34px; }
|
||||
.basic_h a.next:active { background-position: -37px -34px; }
|
||||
|
||||
/* left */
|
||||
.basic_h a.prev { margin-left: 0px; }
|
||||
.basic_h a.prev:hover { background-position: -37px -1px; }
|
||||
.basic_h a.prev:active { background-position: -37px -1px; }
|
||||
|
||||
/*Basic Vertical Style*/
|
||||
/* prev, next, prevPage and nextPage buttons */
|
||||
.basic_v .items{ width: 100%; }
|
||||
.basic_v a.browse{margin: 5px auto; display: block;}
|
||||
.basic_v .scroller{margin: 0 auto;}
|
||||
|
||||
/* up and down */
|
||||
.basic_v a.next, .basic_v a.prev {
|
||||
background:url(../img/vert_large.png) no-repeat -2px -1px;
|
||||
float: none;
|
||||
}
|
||||
|
||||
/* up */
|
||||
.basic_v a.prev:hover { background-position: -37px -1px; }
|
||||
.basic_v a.prev:active { background-position: -37px -1px; }
|
||||
|
||||
/* down */
|
||||
.basic_v a.next { background-position: -2px -34px; }
|
||||
.basic_v a.next:hover { background-position: -37px -34px; }
|
||||
.basic_v a.next:active { background-position: -37px -34px; }
|
||||
|
||||
|
||||
/* disabled navigational button */
|
||||
a.disabled {visibility:hidden !important;}
|
||||
|
||||
/* position and dimensions of the navigator */
|
||||
.navi {
|
||||
height:24px;
|
||||
text-align: center;
|
||||
margin: 3px 0;
|
||||
}
|
||||
/* items inside navigator */
|
||||
.navi a {
|
||||
width:19px;
|
||||
height:20px;
|
||||
margin:0 1px;
|
||||
background:url(../img/navigator.png) 0 3px no-repeat;
|
||||
display:inline-block;
|
||||
vertical-align: top;
|
||||
font-size:1px;
|
||||
cursor: pointer;
|
||||
}
|
||||
/* mouseover state */
|
||||
.navi a:hover {background-position:0 -16px;}
|
||||
/* active state (current page state) */
|
||||
.navi a.active {background-position:0 -35px;}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
4
deployed/mod_xpertscroller/modules/mod_xpertscroller/assets/js/jquery-1.7.2.min.js
vendored
Normal file
4
deployed/mod_xpertscroller/modules/mod_xpertscroller/assets/js/jquery-1.7.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,79 @@
|
||||
/*!
|
||||
* @package XpertScroller
|
||||
* @version 3.10-1-GFF3CA2D
|
||||
* @author ThemeXpert http://www.themexpert.com
|
||||
* @copyright Copyright (C) 2009 - 2011 ThemeXpert
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
|
||||
*
|
||||
*/
|
||||
/*! Copyright 2012, Ben Lin (http://dreamerslab.com/)
|
||||
* Licensed under the MIT License (LICENSE.txt).
|
||||
*
|
||||
* Version: 1.0.13
|
||||
*
|
||||
* Requires: jQuery 1.2.3 ~ 1.8.2
|
||||
*/
|
||||
;(function(a){a.fn.extend({actual:function(b,l){if(!this[b]){throw'$.actual => The jQuery method "'+b+'" you called does not exist';}var f={absolute:false,clone:false,includeMargin:false};var i=a.extend(f,l);var e=this.eq(0);var h,j;if(i.clone===true){h=function(){var m="position: absolute !important; top: -1000 !important; ";e=e.clone().attr("style",m).appendTo("body");};j=function(){e.remove();};}else{var g=[];var d="";var c;h=function(){c=e.parents().andSelf().filter(":hidden");d+="visibility: hidden !important; display: block !important; ";if(i.absolute===true){d+="position: absolute !important; ";}c.each(function(){var m=a(this);g.push(m.attr("style"));m.attr("style",d);});};j=function(){c.each(function(m){var o=a(this);var n=g[m];if(n===undefined){o.removeAttr("style");}else{o.attr("style",n);}});};}h();var k=/(outer)/g.test(b)?e[b](i.includeMargin):e[b]();j();return k;}});})(jQuery);
|
||||
|
||||
jQuery(document).ready(function()
|
||||
{
|
||||
function scrollerResize()
|
||||
{
|
||||
if( jQuery('.scroller').length > 0 )
|
||||
{
|
||||
jQuery('.scroller').each(function(i){
|
||||
|
||||
var el = jQuery(this),
|
||||
p = el.parent(),
|
||||
next=0, prev=0, w=0;
|
||||
|
||||
//calculate width
|
||||
if( p.find('.next').is(':visible') )
|
||||
{
|
||||
next = p.find('.next').width() + 5;
|
||||
}
|
||||
if( p.find('.prev').is(':visible') )
|
||||
{
|
||||
prev = p.find('.prev').width() + 5;
|
||||
}
|
||||
|
||||
w = p.width() - (next + prev);
|
||||
|
||||
// Xpert tab fix
|
||||
if( p.parents('.txtabs-content').length > 0 )
|
||||
{
|
||||
w = p.parents('.txtabs-content').width() - (next + prev);
|
||||
|
||||
//get padding values
|
||||
var pad = parseInt( p.parents('.txtabs-pane-in').css('padding-left') )
|
||||
+ parseInt( p.parents('.txtabs-pane-in').css('padding-right') );
|
||||
w = w - pad;
|
||||
}
|
||||
|
||||
el.find('.pane').css('width', w);
|
||||
el.css('width', w);
|
||||
|
||||
});
|
||||
}
|
||||
// Full width for vertical layout
|
||||
if( jQuery('.basic_v').length > 0 )
|
||||
{
|
||||
jQuery('.basic_v').each(function(i){
|
||||
|
||||
var el = jQuery(this);
|
||||
var width = el.width();
|
||||
|
||||
el.find('.scroller, .pane').css('width', width);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
scrollerResize();
|
||||
|
||||
jQuery(window).bind("resize", function() {
|
||||
scrollerResize();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@ -0,0 +1,24 @@
|
||||
/*!
|
||||
* @package XpertScroller
|
||||
* @version 3.10-1-GFF3CA2D
|
||||
* @author ThemeXpert http://www.themexpert.com
|
||||
* @copyright Copyright (C) 2009 - 2011 ThemeXpert
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
|
||||
*
|
||||
*/
|
||||
|
||||
/*!
|
||||
* jQuery Tools v1.2.7 - The missing UI library for the Web
|
||||
*
|
||||
* scrollable/scrollable.js
|
||||
* scrollable/scrollable.autoscroll.js
|
||||
* scrollable/scrollable.navigator.js
|
||||
*
|
||||
* NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
|
||||
*
|
||||
* http://flowplayer.org/tools/
|
||||
*
|
||||
*/
|
||||
(function(a){a.tools=a.tools||{version:"v1.2.7"},a.tools.scrollable={conf:{activeClass:"active",circular:!1,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:"> *",items:".items",keyboard:!0,mousewheel:!1,next:".next",prev:".prev",size:1,speed:400,vertical:!1,touch:!0,wheelSpeed:0}};function b(a,b){var c=parseInt(a.css(b),10);if(c)return c;var d=a[0].currentStyle;return d&&d.width&&parseInt(d.width,10)}function c(b,c){var d=a(c);return d.length<2?d:b.parent().find(c)}var d;function e(b,e){var f=this,g=b.add(f),h=b.children(),i=0,j=e.vertical;d||(d=f),h.length>1&&(h=a(e.items,b)),e.size>1&&(e.circular=!1),a.extend(f,{getConf:function(){return e},getIndex:function(){return i},getSize:function(){return f.getItems().size()},getNaviButtons:function(){return n.add(o)},getRoot:function(){return b},getItemWrap:function(){return h},getItems:function(){return h.find(e.item).not("."+e.clonedClass)},move:function(a,b){return f.seekTo(i+a,b)},next:function(a){return f.move(e.size,a)},prev:function(a){return f.move(-e.size,a)},begin:function(a){return f.seekTo(0,a)},end:function(a){return f.seekTo(f.getSize()-1,a)},focus:function(){d=f;return f},addItem:function(b){b=a(b),e.circular?(h.children().last().before(b),h.children().first().replaceWith(b.clone().addClass(e.clonedClass))):(h.append(b),o.removeClass("disabled")),g.trigger("onAddItem",[b]);return f},seekTo:function(b,c,k){b.jquery||(b*=1);if(e.circular&&b===0&&i==-1&&c!==0)return f;if(!e.circular&&b<0||b>f.getSize()||b<-1)return f;var l=b;b.jquery?b=f.getItems().index(b):l=f.getItems().eq(b);var m=a.Event("onBeforeSeek");if(!k){g.trigger(m,[b,c]);if(m.isDefaultPrevented()||!l.length)return f}var n=j?{top:-l.position().top}:{left:-l.position().left};i=b,d=f,c===undefined&&(c=e.speed),h.animate(n,c,e.easing,k||function(){g.trigger("onSeek",[b])});return f}}),a.each(["onBeforeSeek","onSeek","onAddItem"],function(b,c){a.isFunction(e[c])&&a(f).on(c,e[c]),f[c]=function(b){b&&a(f).on(c,b);return f}});if(e.circular){var k=f.getItems().slice(-1).clone().prependTo(h),l=f.getItems().eq(1).clone().appendTo(h);k.add(l).addClass(e.clonedClass),f.onBeforeSeek(function(a,b,c){if(!a.isDefaultPrevented()){if(b==-1){f.seekTo(k,c,function(){f.end(0)});return a.preventDefault()}b==f.getSize()&&f.seekTo(l,c,function(){f.begin(0)})}});var m=b.parents().add(b).filter(function(){if(a(this).css("display")==="none")return!0});m.length?(m.show(),f.seekTo(0,0,function(){}),m.hide()):f.seekTo(0,0,function(){})}var n=c(b,e.prev).click(function(a){a.stopPropagation(),f.prev()}),o=c(b,e.next).click(function(a){a.stopPropagation(),f.next()});e.circular||(f.onBeforeSeek(function(a,b){setTimeout(function(){a.isDefaultPrevented()||(n.toggleClass(e.disabledClass,b<=0),o.toggleClass(e.disabledClass,b>=f.getSize()-1))},1)}),e.initialIndex||n.addClass(e.disabledClass)),f.getSize()<2&&n.add(o).addClass(e.disabledClass),e.mousewheel&&a.fn.mousewheel&&b.mousewheel(function(a,b){if(e.mousewheel){f.move(b<0?1:-1,e.wheelSpeed||50);return!1}});if(e.touch){var p={};h[0].ontouchstart=function(a){var b=a.touches[0];p.x=b.clientX,p.y=b.clientY},h[0].ontouchmove=function(a){if(a.touches.length==1&&!h.is(":animated")){var b=a.touches[0],c=p.x-b.clientX,d=p.y-b.clientY;f[j&&d>0||!j&&c>0?"next":"prev"](),a.preventDefault()}}}e.keyboard&&a(document).on("keydown.scrollable",function(b){if(!(!e.keyboard||b.altKey||b.ctrlKey||b.metaKey||a(b.target).is(":input"))){if(e.keyboard!="static"&&d!=f)return;var c=b.keyCode;if(j&&(c==38||c==40)){f.move(c==38?-1:1);return b.preventDefault()}if(!j&&(c==37||c==39)){f.move(c==37?-1:1);return b.preventDefault()}}}),e.initialIndex&&f.seekTo(e.initialIndex,0,function(){})}a.fn.scrollable=function(b){var c=this.data("scrollable");if(c)return c;b=a.extend({},a.tools.scrollable.conf,b),this.each(function(){c=new e(a(this),b),a(this).data("scrollable",c)});return b.api?c:this}})(jQuery);
|
||||
(function(a){var b=a.tools.scrollable;b.autoscroll={conf:{autoplay:!0,interval:3e3,autopause:!0}},a.fn.autoscroll=function(c){typeof c=="number"&&(c={interval:c});var d=a.extend({},b.autoscroll.conf,c),e;this.each(function(){var b=a(this).data("scrollable"),c=b.getRoot(),f,g=!1;function h(){f&&clearTimeout(f),f=setTimeout(function(){b.next()},d.interval)}b&&(e=b),b.play=function(){f||(g=!1,c.on("onSeek",h),h())},b.pause=function(){f=clearTimeout(f),c.off("onSeek",h)},b.resume=function(){g||b.play()},b.stop=function(){g=!0,b.pause()},d.autopause&&c.add(b.getNaviButtons()).hover(b.pause,b.resume),d.autoplay&&b.play()});return d.api?e:this}})(jQuery);
|
||||
(function(a){var b=a.tools.scrollable;b.navigator={conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:!1,idPrefix:null,history:!1}};function c(b,c){var d=a(c);return d.length<2?d:b.parent().find(c)}a.fn.navigator=function(d){typeof d=="string"&&(d={navi:d}),d=a.extend({},b.navigator.conf,d);var e;this.each(function(){var b=a(this).data("scrollable"),f=d.navi.jquery?d.navi:c(b.getRoot(),d.navi),g=b.getNaviButtons(),h=d.activeClass,i=d.history&&history.pushState,j=b.getConf().size;b&&(e=b),b.getNaviButtons=function(){return g.add(f)},i&&(history.pushState({i:0},""),a(window).on("popstate",function(a){var c=a.originalEvent.state;c&&b.seekTo(c.i)}));function k(a,c,d){b.seekTo(c),d.preventDefault(),i&&history.pushState({i:c},"")}function l(){return f.find(d.naviItem||"> *")}function m(b){var c=a("<"+(d.naviItem||"a")+"/>").click(function(c){k(a(this),b,c)});b===0&&c.addClass(h),d.indexed&&c.text(b+1),d.idPrefix&&c.attr("id",d.idPrefix+b);return c.appendTo(f)}l().length?l().each(function(b){a(this).click(function(c){k(a(this),b,c)})}):a.each(b.getItems(),function(a){a%j==0&&m(a)}),b.onBeforeSeek(function(a,b){setTimeout(function(){if(!a.isDefaultPrevented()){var c=b/j,d=l().eq(c);d.length&&l().removeClass(h).eq(c).addClass(h)}},1)}),b.onAddItem(function(a,c){var d=b.getItems().index(c);d%j==0&&m(d)})});return d.api?e:this}})(jQuery);
|
||||
120
deployed/mod_xpertscroller/modules/mod_xpertscroller/helper.php
Normal file
120
deployed/mod_xpertscroller/modules/mod_xpertscroller/helper.php
Normal file
@ -0,0 +1,120 @@
|
||||
<?php
|
||||
/**
|
||||
* @package XpertScroller
|
||||
* @version 3.10-1-GFF3CA2D
|
||||
* @author ThemeXpert http://www.themexpert.com
|
||||
* @copyright Copyright (C) 2009 - 2011 ThemeXpert
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
|
||||
*
|
||||
*/
|
||||
|
||||
// no direct access
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
abstract class XEFXpertScrollerHelper{
|
||||
|
||||
/*
|
||||
* Load add script settings
|
||||
* and push it to document head
|
||||
*/
|
||||
public static function load_script($module, $params)
|
||||
{
|
||||
$doc = JFactory::getDocument();
|
||||
|
||||
// Set moduleid
|
||||
$module_id = XEFUtility::getModuleId($module, $params);
|
||||
|
||||
// Load jQuery
|
||||
XEFUtility::addjQuery($module, $params);
|
||||
|
||||
$animationMode = ($params->get('animation_style') == 'animation_h') ? 'false' : 'true';
|
||||
$speed = (int)$params->get('animation_speed');
|
||||
$repeat = ( (int)$params->get('repeat') ) ? 'true' : 'false';
|
||||
$keyboardNav = ( (int)$params->get('keyboard_navigation') ) ? 'true' : 'false';
|
||||
|
||||
//auto scroll plugin config
|
||||
$autoScroll = '';
|
||||
if ( (int)$params->get('auto_play') ){
|
||||
$autoPlay = ( (int)$params->get('auto_play') ) ? 'true' : 'false';
|
||||
$interval = (int)$params->get('interval');
|
||||
$autoPause = ( (int)$params->get('auto_pause') ) ? 'true' : 'false';
|
||||
|
||||
$autoScroll = ".autoscroll({ autoplay: {$autoPlay} , interval: {$interval}, autopause:{$autoPause} })";
|
||||
}
|
||||
//navigator plugin config
|
||||
$navigator='';
|
||||
if($params->get('navigator')) $navigator = ".navigator()";
|
||||
|
||||
$js = "
|
||||
jQuery(document).ready(function(){
|
||||
jQuery('#{$module_id}').scrollable({
|
||||
vertical: {$animationMode},
|
||||
speed: {$speed},
|
||||
circular : {$repeat},
|
||||
keyboard: {$keyboardNav}
|
||||
}){$autoScroll}{$navigator};
|
||||
});
|
||||
";
|
||||
$doc->addScriptDeclaration($js);
|
||||
|
||||
if(!defined('XPERT_SCROLLER')){
|
||||
//add scroller js file
|
||||
$doc->addScript(JURI::root(true).'/modules/mod_xpertscroller/assets/js/xpertscroller.js');
|
||||
$doc->addScript(JURI::root(true).'/modules/mod_xpertscroller/assets/js/script.js');
|
||||
define('XPERT_SCROLLER',1);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Load necesery style.
|
||||
* take all css settings and push it on document head
|
||||
*/
|
||||
|
||||
public static function load_style($module, $params)
|
||||
{
|
||||
$doc = JFactory::getDocument();
|
||||
//set moduleid
|
||||
$module_id = XEFUtility::getModuleId($module, $params);
|
||||
$moduleId = '#'.$module_id;
|
||||
$moduleClass = '.'. $module_id;
|
||||
|
||||
$scrollerLayout = $params->get('scroller_layout');
|
||||
|
||||
/*
|
||||
* module unique id will only assign on horizontl style.
|
||||
* this unique class will only use for navigation arrow styling
|
||||
* vertical style will auto adjuct arrow position to middle using css file.
|
||||
*/
|
||||
$selectorClass = ($scrollerLayout == 'basic_h') ? '.' . $moduleId : '';
|
||||
|
||||
//scroller wrapper widtha nd height. this width and height will effect on .pane class also.
|
||||
$moduleWidth = $paneWidth = (int)$params->get('module_width');
|
||||
$moduleHeight = (int)$params->get('mod_height');
|
||||
|
||||
/*
|
||||
* In horizontal style item width will calculated by persentage value
|
||||
* In vertical style item height will calculate on module height and num of columns
|
||||
*/
|
||||
if($scrollerLayout == 'basic_h') $itemDimensions = 'width:'. 100 / (int)$params->get('col_amount') . '%';
|
||||
else $itemDimensions = 'width: 100%; height:' . $moduleHeight / $params->get('col_amount') .'px' ;
|
||||
|
||||
$controlMargin = $params->get('control_margin');
|
||||
|
||||
//items div always higher value thats way we will check animatin style and determine the proper css property
|
||||
$animationStyle = ($params->get('animation_style') == 'animation_h') ? 'width' : 'height';
|
||||
|
||||
//preaper all css settings
|
||||
$css = "
|
||||
{$moduleId} {height: {$moduleHeight}px;}
|
||||
|
||||
{$moduleId} .items { {$animationStyle}:20000em; }
|
||||
{$moduleId} .pane .item{{$itemDimensions}; overflow:hidden; }
|
||||
|
||||
{$moduleClass} a.browse{ margin:{$controlMargin}; }
|
||||
|
||||
";
|
||||
//push this css on document head
|
||||
$doc->addStyleDeclaration($css);
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* @package XpertScroller
|
||||
* @version 3.10-1-GFF3CA2D
|
||||
* @author ThemeXpert http://www.themexpert.com
|
||||
* @copyright Copyright (C) 2009 - 2011 ThemeXpert
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
|
||||
*
|
||||
*/
|
||||
|
||||
// no direct access
|
||||
defined('_JEXEC') or die('Restricted accessd');
|
||||
|
||||
// Check for the framework, if not found eject
|
||||
include_once JPATH_LIBRARIES . '/xef/bootstrap.php';
|
||||
|
||||
if( !defined('XEF_INCLUDED'))
|
||||
{
|
||||
echo 'Your Module installation is broken; please re-install. Alternatively, extract the installation archive and copy the xef directory inside your site\'s libraries directory.';
|
||||
return ;
|
||||
}
|
||||
|
||||
// Include the syndicate functions only once
|
||||
require_once (dirname(__FILE__). '/helper.php');
|
||||
|
||||
//set module id
|
||||
$module_id = XEFUtility::getModuleId($module, $params);
|
||||
|
||||
// Content source
|
||||
$content_source = $params->get('content_source','joomla');
|
||||
|
||||
// Import source and get the class name
|
||||
$class_name = importSource($content_source);
|
||||
|
||||
// Create instance of the class
|
||||
$instance = new $class_name($module, $params);
|
||||
|
||||
// Get the items
|
||||
$items = $instance->getItems();
|
||||
|
||||
// Load Stylesheet file
|
||||
XEFUtility::loadStyleSheet($module, $params);
|
||||
|
||||
// Load Module specific script
|
||||
XEFXpertScrollerHelper::load_script($module, $params);
|
||||
|
||||
// Load Module specific style defination
|
||||
XEFXpertScrollerHelper::load_style($module, $params);
|
||||
|
||||
/*modXpertScrollerHelper::load_script($params,$module);
|
||||
modXpertScrollerHelper::load_style($params,$module);*/
|
||||
|
||||
//compare total items with max amount to show. assign the lower value to maxItems variable.
|
||||
$totalItems = count($items);
|
||||
if( (int)$params->get('count') <= $totalItems ) $maxItems = (int)$params->get('count');
|
||||
else $maxItems = $totalItems;
|
||||
|
||||
//number of pan.
|
||||
$totalPane = $maxItems / (int)$params->get('col_amount');
|
||||
|
||||
//get this image position name and ues it as class
|
||||
$imagePosition = $params->get('image_position');
|
||||
|
||||
|
||||
require JModuleHelper::getLayoutPath($module->module, $params->get('layout', 'default'));
|
||||
@ -0,0 +1,412 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension
|
||||
type="module"
|
||||
version="2.5"
|
||||
client="site"
|
||||
method="upgrade">
|
||||
<name>Xpert Scroller</name>
|
||||
<author>ThemeXpert</author>
|
||||
<creationDate>${build.date}</creationDate>
|
||||
<copyright>Copyright (C) 20010 - 2011 ThemeXpert. All rights reserved.</copyright>
|
||||
<license>GNU General Public License version 2 or later</license>
|
||||
<authorEmail>support@themexpert.com</authorEmail>
|
||||
<authorUrl>www.themexpert.com</authorUrl>
|
||||
<version>3.10-1-GFF3CA2D</version>
|
||||
<description>XS_DESC</description>
|
||||
<files>
|
||||
<filename module="mod_xpertscroller">mod_xpertscroller.php</filename>
|
||||
<folder>assets</folder>
|
||||
<folder>tmpl</folder>
|
||||
<filename>helper.php</filename>
|
||||
<filename>index.html</filename>
|
||||
<filename>mod_xpertscroller.xml</filename>
|
||||
</files>
|
||||
|
||||
<languages folder="language">
|
||||
<language tag="en-GB">en-GB.mod_xpertscroller.ini</language>
|
||||
</languages>
|
||||
|
||||
<!-- UPDATESERVER DEFINITION -->
|
||||
<updateservers>
|
||||
<server type="extension" priority="1" name="Xpert Scroller Update">http://www.themexpert.com/ustreams/extensions/xpertscroller.xml</server>
|
||||
</updateservers>
|
||||
|
||||
<config>
|
||||
<fields name="params" addfieldpath="libraries/xef/fields">
|
||||
<fieldset name="GENERAL_SETTINGS">
|
||||
|
||||
<field name="utility" type="utility" />
|
||||
|
||||
<field name="generaldoc" type="doc" message="DOC_MSG" />
|
||||
|
||||
<field name="content_source" type="source" default="joomla"
|
||||
providers='joomla,k2'
|
||||
label="CONTENT_SOURCE"
|
||||
description="CONTENT_SOURCE_DESC" />
|
||||
|
||||
<field name="count" type="text" default="3" label="MAX_ARTICLE" description="MAX_ARTICLE_DESC" />
|
||||
|
||||
<field name="routing_type" type="list" default="default" label="ROUTING_BEHAVIOR" description="ROUTING_BEHAVIOR_DESC">
|
||||
<option value="default">DEFAULT_BEHAVIOR</option>
|
||||
<option value="menuitem">USE_MENU_ITEM</option>
|
||||
</field>
|
||||
|
||||
<field name="menuitemid" type="menuitem" default="" label="USE_MENU_ITEM" description="USE_MENU_ITEM_DESC" state="1" />
|
||||
|
||||
<field name="title_settings" type="spacer" label="TITLE_SETTINGS_LABEL" description="TITLE_SETTINGS_DESC" />
|
||||
|
||||
<field name="title" type="radio" default="1"
|
||||
label="ARTICLE_TITLE"
|
||||
description="ARTICLE_TITLE_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JSHOW</option>
|
||||
<option value="0">JHIDE</option>
|
||||
</field>
|
||||
|
||||
<field name="link" type="radio" default="0"
|
||||
label="TITLE_LINK"
|
||||
description="TITLE_LINK_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="category" type="radio" default="0"
|
||||
label="CATEGORY_LABEL"
|
||||
description="CATEGORY_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JSHOW</option>
|
||||
<option value="0">JHIDE</option>
|
||||
</field>
|
||||
|
||||
<field name="category_link" type="radio" default="0"
|
||||
label="CATEGORY_LINK_LABEL"
|
||||
description="CATEGORY_LINK_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="intro_settings" type="spacer" label="INTRO_SETTINGS_LABEL" description="INTRO_SETTINGS_DESC" />
|
||||
<field name="intro" type="radio" default="1"
|
||||
class="btn-group" filter="integer"
|
||||
label="INTRO_TEXT"
|
||||
description="INTRO_TEXT_DESC">
|
||||
<option value="1">JSHOW</option>
|
||||
<option value="0">JHIDE</option>
|
||||
</field>
|
||||
|
||||
<field name="intro_limit_type" type="radio" default="words"
|
||||
class="btn-group"
|
||||
label="INTRO_TEXT_LIMIT_TYPE"
|
||||
description="INTRO_TEXT_LIMIT_TYPE_DESC">
|
||||
<option value="0">JNO</option>
|
||||
<option value="words">WORDS</option>
|
||||
<option value="chars">CHARACTERS</option>
|
||||
</field>
|
||||
|
||||
<field name="intro_limit" type="text" default="30"
|
||||
label="INTRO_TEXT_LIMIT"
|
||||
description="INTRO_TEXT_LIMIT_DESC" />
|
||||
|
||||
<field name="readmore" type="radio" default="1"
|
||||
label="READMORE"
|
||||
description="READMORE_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JSHOW</option>
|
||||
<option value="0">JHIDE</option>
|
||||
</field>
|
||||
|
||||
<field name="readmore_text" type="text" default="Readmore.." label="READMORE_TEXT" description="READMORE_TEXT_DESC" />
|
||||
|
||||
<field name="target" type="list" default="_self"
|
||||
label="BROWSER_NAV"
|
||||
description="BROWSER_NAV_DESC" >
|
||||
<option value="_self">Parent Window</option>
|
||||
<option value="_blank">New Window</option>
|
||||
</field>
|
||||
|
||||
<field name="image_settings" type="spacer" label="IMAGE_SETTINGS_LABEL" description="IMAGE_SETTINGS_DESC" />
|
||||
|
||||
<field name="image" type="radio" default="1"
|
||||
label="ITEM_IMG"
|
||||
description="ITEM_IMG_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JSHOW</option>
|
||||
<option value="0">JHIDE</option>
|
||||
</field>
|
||||
|
||||
<field name="image_link" type="radio" default="1"
|
||||
label="IMAGE_LINK"
|
||||
description="IMAGE_LINK_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="image_resize" type="radio" default="0"
|
||||
label="IMAGE_RESIZE"
|
||||
description="IMAGE_RESIZE_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="image_width" type="text" default="400"
|
||||
label="IMAGE_WIDTH"
|
||||
description="IMAGE_WIDTH_DESC" />
|
||||
|
||||
<field name="image_height" type="text" default="300"
|
||||
label="IMAGE_HEIGHT"
|
||||
description="IMAGE_HEIGHT_DESC" />
|
||||
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="JOOMLA">
|
||||
|
||||
<field name="jomcatfilter" type="radio" default="0"
|
||||
class="btn-group"
|
||||
filter="integer"
|
||||
label="JOOM_CATEGOTY_FILTER_LABEL"
|
||||
description="JOOM_CATEGOTY_FILTER_DESC">
|
||||
<option value="0">ALL</option>
|
||||
<option value="1">SELECT</option>
|
||||
</field>
|
||||
|
||||
<field name="jom_catid" type="category" extension="com_content" multiple="true"
|
||||
class="chzn-select"
|
||||
label="JCATEGORY"
|
||||
description="Select Category" />
|
||||
|
||||
<field name="jom_ordering" type="list" default="p_dsc"
|
||||
label="ORDERING_LABEL"
|
||||
description="ORDERING_DESC">
|
||||
<option value="c_dsc">Recently Added First</option>
|
||||
<option value="m_dsc">Recently Modified First</option>
|
||||
<option value="p_dsc">Recently Published First</option>
|
||||
<option value="mc_dsc">Recently Touched First</option>
|
||||
<option value="hits_dsc">Number of Hits</option>
|
||||
</field>
|
||||
|
||||
<field name="jom_user_id" type="list" default="0"
|
||||
label="AUTHORS_LABEL"
|
||||
description="AUTHORS_DESC">
|
||||
<option value="0">Anyone</option>
|
||||
<option value="by_me">Added or modified by me</option>
|
||||
<option value="not_me">Not added or modified by me</option>
|
||||
</field>
|
||||
|
||||
<field name="jom_show_featured" type="list" default=""
|
||||
label="FEATURED_LABEL"
|
||||
description="FEATURED_DESC">
|
||||
<option value="">JSHOW</option>
|
||||
<option value="0">JHIDE</option>
|
||||
<option value="1">JFEATURED</option>
|
||||
</field>
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="K2">
|
||||
|
||||
<field name="k2_catfilter" type="radio" default="0"
|
||||
class="btn-group"
|
||||
filter="integer"
|
||||
label="K2_CATEGORY_FILTER"
|
||||
description="">
|
||||
<option value="0">ALL</option>
|
||||
<option value="1">SELECT</option>
|
||||
</field>
|
||||
|
||||
<field name="k2_catid" type="categoriesmultiple" default=""
|
||||
label="K2_CATEGORIES"
|
||||
description="K2_CATEGORIES_DESC"/>
|
||||
|
||||
<field name="k2_get_children" type="radio" default="1"
|
||||
class="btn-group"
|
||||
filter="integer"
|
||||
label="K2_CHILDREN_CATEGORIES"
|
||||
description="">
|
||||
<option value="1">Yes</option>
|
||||
<option value="0">No</option>
|
||||
</field>
|
||||
|
||||
<field name="k2_items_ordering" type="list" default=""
|
||||
label="K2_ITEM_ORDERING"
|
||||
description="">
|
||||
<option value="">K2_DEFAULT</option>
|
||||
<option value="date">K2_OLDEST_FIRST</option>
|
||||
<option value="rdate">K2_MOST_RECENT_FIRST</option>
|
||||
<option value="publishUp">K2_RECENTLY_PUBLISHED</option>
|
||||
<option value="alpha">K2_TITLE_ALPHABETICAL</option>
|
||||
<option value="ralpha">K2_TITLE_REVERSEALPHABETICAL</option>
|
||||
<option value="order">K2_ORDERING</option>
|
||||
<option value="rorder">K2_ORDERING_REVERSE</option>
|
||||
<option value="hits">K2_MOST_POPULAR</option>
|
||||
<option value="best">K2_HIGHEST_RATED</option>
|
||||
<option value="comments">K2_MOST_COMMENTED</option>
|
||||
<option value="modified">K2_LATEST_MODIFIED</option>
|
||||
<option value="rand">K2_RANDOM_ORDERING</option>
|
||||
</field>
|
||||
|
||||
<field name="k2_featured_items" type="list" default="1"
|
||||
label="K2_FEATURED_ITEMS"
|
||||
description="">
|
||||
<option value="0">K2_HIDE</option>
|
||||
<option value="1">K2_SHOW</option>
|
||||
<option value="2">K2_SHOW_ONLY_FEATURED_ITEMS</option>
|
||||
</field>
|
||||
|
||||
<field name="k2_popularity_range" type="list" default=""
|
||||
label="K2_TIME_RANGE"
|
||||
description="K2_TIME_RANGE_DESC">
|
||||
<option value="">K2_ALL_TIME</option>
|
||||
<option value="1">K2_1_DAY</option>
|
||||
<option value="3">K2_3_DAYS</option>
|
||||
<option value="7">K2_1_WEEK</option>
|
||||
<option value="15">K2_2_WEEKS</option>
|
||||
<option value="30">K2_1_MONTH</option>
|
||||
<option value="180">K2_6_MONTHS</option>
|
||||
</field>
|
||||
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="LAYOUT_SETTINGS">
|
||||
<field name="scroller_layout" type="radio" default="basic_h"
|
||||
label="SCROLLER_LAYOUT"
|
||||
description="SCROLLER_LAYOUT_DESC"
|
||||
class="btn-group">
|
||||
<option value="basic_h">Horizontal</option>
|
||||
<option value="basic_v">Vertical </option>
|
||||
</field>
|
||||
|
||||
<!--<field name="module_width" type="text" default="400" label="MODULE_WIDTH" description="MODULE_WIDTH_DESC" />-->
|
||||
|
||||
<field name="mod_height" type="text" default="200"
|
||||
label="MODULE_HEIGHT"
|
||||
description="MODULE_HEIGHT_DESC" />
|
||||
|
||||
<field name="col_amount" type="text" default="5"
|
||||
label="NUMBER_COL"
|
||||
description="NUMBER_COL_DESC" />
|
||||
|
||||
<field name="image_position" type="radio" default="top"
|
||||
label="IMAGE_POSITION"
|
||||
description="IMAGE_POSITION_DESC"
|
||||
class="btn-group">
|
||||
<option value= "left">Left</option>
|
||||
<option value= "right">Right</option>
|
||||
<option value= "top">Top</option>
|
||||
</field>
|
||||
|
||||
<field name="control" type="radio" default="1"
|
||||
label="Show control"
|
||||
description="Show/Hide control arrow"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="control_margin" type="text" default="40px 10px" label="CONTROL_MARGIN" description="CONTROL_MARGIN_DESC" />
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="SCROLLER_SETTINGS">
|
||||
<field name="animation_style" type="radio" default="animation_h"
|
||||
label="SCROLLER_STYLE"
|
||||
description="SCROLLER_STYLE_DESC"
|
||||
class="btn-group">
|
||||
<option value="animation_h">Horizontal</option>
|
||||
<option value="animation_v">Vertical </option>
|
||||
</field>
|
||||
|
||||
<field name="animation_speed" type="text" default="1000"
|
||||
label="ANIMATION_SPEED"
|
||||
description="ANIMATION_SPEED_DESC" />
|
||||
|
||||
<field name="repeat" type="radio" default="1"
|
||||
label="REPEAT"
|
||||
description="REPEAT_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="keyboard_navigation" type="radio" default="1"
|
||||
label="KEYBOARD_NAVIGATION"
|
||||
description="KEYBOARD_NAVIGATION_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="auto_play" type="radio" default="0"
|
||||
label="AUTO_PLAY"
|
||||
description="AUTO_PLAY_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="navigator" type="radio" default="1"
|
||||
label="NAVIGATOR"
|
||||
description="NAVIGATOR_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JSHOW</option>
|
||||
<option value="0">JHIDE</option>
|
||||
</field>
|
||||
|
||||
<field name="interval" type="text" default="1000"
|
||||
label="INTERVAL"
|
||||
description="INTERVAL_DESC" />
|
||||
|
||||
<field name="auto_pause" type="radio" default="1"
|
||||
label="AUTO_PAUSE"
|
||||
description="AUTO_PAUSE_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="advanced">
|
||||
<field name="layout" type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" description="JFIELD_ALT_MODULE_LAYOUT_DESC" />
|
||||
<field name="moduleclass_sfx" type="text" default="" label="MODULECLASS_SFX" description="MODULECLASS_SFX_DESC" />
|
||||
|
||||
<field name="auto_module_id" type="radio" default="1"
|
||||
label="AUTO_MODULE_ID"
|
||||
description="AUTO_MODULE_ID_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="module_unique_id" type="text" default="xs_1" label="MODULE_UNIQUE_ID" description="MODULE_UNIQUE_ID_DESC" />
|
||||
|
||||
<field name="load_jquery" type="radio" default="1"
|
||||
label="LOAD_JQUERY"
|
||||
description="LOAD_JQUERY_DESC"
|
||||
class="btn-group" filter="integer">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="jquery_source" type="list" default="local" label="JQUERY_SOURCE" description="JQUERY_SOURCE_DESC">
|
||||
<option value="local">From Module Core</option>
|
||||
<option value="google_cdn">From Google CDN</option>
|
||||
</field>
|
||||
<field name="cache" type="list" default="1" label="COM_MODULES_FIELD_CACHING_LABEL" description="COM_MODULES_FIELD_CACHING_DESC">
|
||||
<option value="1">JGLOBAL_USE_GLOBAL</option>
|
||||
<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
|
||||
</field>
|
||||
|
||||
<field name="cache_time" type="text" default="900" label="COM_MODULES_FIELD_CACHE_TIME_LABEL" description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
|
||||
<field name="cachemode" type="hidden" default="static">
|
||||
<option value="static"></option>
|
||||
</field>
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="DOCUMENTATION_SUPPORT">
|
||||
<field name="docsupport" type="doc" support="true" link="true" title="IMPORTANT" message="DOC_SUPPORT_MESSAGE" />
|
||||
</fieldset>
|
||||
|
||||
</fields>
|
||||
</config>
|
||||
</extension>
|
||||
@ -0,0 +1,98 @@
|
||||
<?php
|
||||
/**
|
||||
* @package XpertScroller
|
||||
* @version 3.10-1-GFF3CA2D
|
||||
* @author ThemeXpert http://www.themexpert.com
|
||||
* @copyright Copyright (C) 2009 - 2011 ThemeXpert
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
|
||||
*
|
||||
*/
|
||||
|
||||
// no direct access
|
||||
defined('_JEXEC') or die('Restricted accessd');
|
||||
$index=0;
|
||||
?>
|
||||
<!--ThemeXpert: XpertScroller module version 3.10-1-GFF3CA2D Start here-->
|
||||
<div class="<?php echo $module_id;?> <?php echo $params->get('moduleclass_sfx');?> <?php echo $params->get('scroller_layout');?> clearfix">
|
||||
|
||||
<?php if($params->get('navigator')):?>
|
||||
<!-- wrapper for navigator elements -->
|
||||
<div class="navi"></div>
|
||||
<?php endif;?>
|
||||
|
||||
|
||||
<a class="prev browse left" <?php echo ($params->get('control','1')) ? '' : 'style="display:none;"';?> ></a>
|
||||
|
||||
<div id="<?php echo $module_id;?>" class="scroller">
|
||||
|
||||
<div class="items">
|
||||
<?php for($i = 0; $i<$totalPane; $i++){?>
|
||||
<div class="pane">
|
||||
<?php for($col=0; $col<(int)$params->get('col_amount'); $col++, $index++) {?>
|
||||
<?php if($index>=count($items)) break;?>
|
||||
<div class="item">
|
||||
<div class="padding clearfix">
|
||||
|
||||
<?php if($params->get('image')):?>
|
||||
|
||||
<?php if( $params->get('image_link') ) :?>
|
||||
<a href="<?php echo $items[$index]->link; ?>" target="<?php echo $params->get('target');?>" >
|
||||
<?php endif; ?>
|
||||
|
||||
<img class="<?php echo $params->get('image_position');?>" src="<?php echo $items[$index]->image?>" alt="<?php echo $items[$index]->title?>" />
|
||||
<?php if( $params->get('image_link') ) :?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php endif;?>
|
||||
|
||||
<?php if($params->get('title')):?>
|
||||
<h4>
|
||||
<?php if( $params->get('link') ) :?>
|
||||
<a href="<?php echo $items[$index]->link; ?>" target="<?php echo $params->get('target');?>">
|
||||
<?php endif; ?>
|
||||
|
||||
<?php echo $items[$index]->title;?>
|
||||
|
||||
<?php if( $params->get('link') ) :?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</h4>
|
||||
<?php endif;?>
|
||||
|
||||
<?php if($params->get('category')):?>
|
||||
<p class="xs_category">
|
||||
<?php if( $params->get('category_link') ) :?>
|
||||
<a href="<?php echo $items[$index]->catlink; ?>" target="<?php echo $params->get('target');?>">
|
||||
<?php endif; ?>
|
||||
<?php echo JText::_('In: ')?>
|
||||
<?php echo $items[$index]->catname;?>
|
||||
|
||||
<?php if( $params->get('category_link') ) :?>
|
||||
</a>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
<?php endif;?>
|
||||
|
||||
<?php if($params->get('intro')):?>
|
||||
<div class="xs_intro"><?php echo $items[$index]->introtext;?></div>
|
||||
<?php endif;?>
|
||||
|
||||
<?php if($params->get('readmore')):?>
|
||||
<p class="xs_readmore">
|
||||
<a class="btn" href="<?php echo $items[$index]->link;?>" target="<?php echo $params->get('target');?>">
|
||||
<?php echo $params->get('readmore_text', 'Readmore..') ;?>
|
||||
</a>
|
||||
</p>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</div>
|
||||
<?php if($col == (int)$params->get('col_amount') ){$col=0; break;} ?>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php }?>
|
||||
</div>
|
||||
</div>
|
||||
<a class="next browse left" <?php echo ($params->get('control','1')) ? '' : 'style="display:none;"';?> ></a>
|
||||
</div>
|
||||
<!--ThemeXpert: XpertScroller module version 3.10-1-GFF3CA2D End Here-->
|
||||
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
Loading…
Reference in New Issue
Block a user