feat(deployed): add mod_caroufredsel 1.2.3 (no-source, vetted live)

mod_caroufredsel module; unmapped -> 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:
LÁZÁR Imre AI Agent 2026-07-16 11:24:51 +02:00
parent f44141e6b3
commit 2332bf163c
14 changed files with 849 additions and 0 deletions

View File

@ -0,0 +1,74 @@
.list_carousel {
padding: 0;
width: auto;
position: relative;
width: auto;
}
.list_carousel ul {
margin: 0;
padding: 0;
list-style: none;
}
.caroufredsel_wrapper{
cursor: auto !important;
}
.list_carousel li {
padding: 0 10px;
margin: 0;
display: block;
float: left;
min-width: 50px;
min-height: 162px;
}
.clearfix {
float: none;
clear: both;
}
/*Navigation*/
.caroufredsel_prev,
.caroufredsel_next{
position: absolute;
top: 50%;
display: block;
height: 20px;
width: 20px;
margin: -10px 0 0 0;
background: #000;
line-height: 20px;
text-align: center;
color:#fff;
}
.caroufredsel_prev:hover,
.caroufredsel_next:hover{
background: #fff;
color:#000;
}
.caroufredsel_prev span,
.caroufredsel_next span{
display: block;
cursor: pointer;
}
.caroufredsel_prev{
left:0;
}
.caroufredsel_next{
right:0;
}
/*Pagination*/
.caroufredsel_pagination{
text-align: center;
}
.caroufredsel_pagination a{
display: inline-block;
padding: 0 0.5em;
}

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,101 @@
<?php
/**
* @package Joomla.Site
* @subpackage mod_elastislide
*
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
require_once JPATH_SITE.'/components/com_content/helpers/route.php';
JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models', 'ContentModel');
/**
* Helper for mod_elastislide
*
* @package Joomla.Site
* @subpackage mod_elastislide
*/
abstract class modCarouFredSelHelper
{
public static function getList(&$params)
{
$app = JFactory::getApplication();
$db = JFactory::getDbo();
// Get an instance of the generic articles model
$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));
// Set application parameters in model
$appParams = JFactory::getApplication()->getParams();
$model->setState('params', $appParams);
// Set the filters based on the module params
$model->setState('list.start', 0);
$model->setState('list.limit', (int) $params->get('count', 5));
$model->setState('filter.published', 1);
$model->setState('list.select', 'a.fulltext, a.id, a.title, a.alias, a.introtext, a.state, a.catid, a.created, a.created_by, a.created_by_alias,' .
' a.modified, a.modified_by, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.metadata, a.metakey, a.metadesc, a.access,' .
' a.hits, a.featured' );
// Access filter
$access = !JComponentHelper::getParams('com_content')->get('show_noauth');
$authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
$model->setState('filter.access', $access);
// Category filter
$model->setState('filter.category_id', $params->get('catid', array()));
// Filter by language
$model->setState('filter.language', $app->getLanguageFilter());
// Set ordering
$ordering = $params->get('ordering', 'a.publish_up');
$model->setState('list.ordering', $ordering);
if (trim($ordering) == 'rand()') {
$model->setState('list.direction', '');
} else {
$model->setState('list.direction', 'ASC');
}
// Retrieve Content
$items = $model->getItems();
foreach ($items as &$item) {
$item->readmore = strlen(trim($item->fulltext));
$item->slug = $item->id.':'.$item->alias;
$item->catslug = $item->catid.':'.$item->category_alias;
if ($access || in_array($item->access, $authorised))
{
// We know that user has the privilege to view the article
$item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid));
$item->linkText = JText::_('MOD_CAROUFREDSEL_READMORE');
}
else {
$item->link = JRoute::_('index.php?option=com_users&view=login');
$item->linkText = JText::_('MOD_CAROUFREDSEL_READMORE_REGISTER');
}
$item->introtext = JHtml::_('content.prepare', $item->introtext, '', 'mod_elastislide.content');
//new
if (!$params->get('image')) {
$item->introtext = preg_replace('/<img[^>]*>/', '', $item->introtext);
}
$results = $app->triggerEvent('onContentAfterDisplay', array('com_content.article', &$item, &$params, 1));
$item->afterDisplayTitle = trim(implode("\n", $results));
$results = $app->triggerEvent('onContentBeforeDisplay', array('com_content.article', &$item, &$params, 1));
$item->beforeDisplayContent = trim(implode("\n", $results));
}
return $items;
}
}

View File

@ -0,0 +1 @@
<!DOCTYPE html><title></title>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,9 @@
/*
* jQuery throttle / debounce - v1.1 - 3/7/2010
* http://benalman.com/projects/jquery-throttle-debounce-plugin/
*
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*/
(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this);

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,12 @@
/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
* Licensed under the MIT License (LICENSE.txt).
*
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
* Thanks to: Seamus Leahy for adding deltaX and deltaY
*
* Version: 3.0.6
*
* Requires: 1.2.2+
*/
(function(a){function d(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,f=!0,g=0,h=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),h=e,c.axis!==undefined&&c.axis===c.HORIZONTAL_AXIS&&(h=0,g=-1*e),c.wheelDeltaY!==undefined&&(h=c.wheelDeltaY/120),c.wheelDeltaX!==undefined&&(g=-1*c.wheelDeltaX/120),d.unshift(b,e,g,h),(a.event.dispatch||a.event.handle).apply(this,d)}var b=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(var c=b.length;c;)a.event.fixHooks[b[--c]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],d,!1);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],d,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery)

View File

@ -0,0 +1,13 @@
/*
* touchSwipe - jQuery Plugin
* https://github.com/mattbryson/TouchSwipe-Jquery-Plugin
* http://labs.skinkers.com/touchSwipe/
* http://plugins.jquery.com/project/touchSwipe
*
* Copyright (c) 2010 Matt Bryson (www.skinkers.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* $version: 1.3.3
*/
(function(g){function P(c){if(c&&void 0===c.allowPageScroll&&(void 0!==c.swipe||void 0!==c.swipeStatus))c.allowPageScroll=G;c||(c={});c=g.extend({},g.fn.swipe.defaults,c);return this.each(function(){var b=g(this),f=b.data(w);f||(f=new W(this,c),b.data(w,f))})}function W(c,b){var f,p,r,s;function H(a){var a=a.originalEvent,c,Q=n?a.touches[0]:a;d=R;n?h=a.touches.length:a.preventDefault();i=0;j=null;k=0;!n||h===b.fingers||b.fingers===x?(r=f=Q.pageX,s=p=Q.pageY,y=(new Date).getTime(),b.swipeStatus&&(c= l(a,d))):t(a);if(!1===c)return d=m,l(a,d),c;e.bind(I,J);e.bind(K,L)}function J(a){a=a.originalEvent;if(!(d===q||d===m)){var c,e=n?a.touches[0]:a;f=e.pageX;p=e.pageY;u=(new Date).getTime();j=S();n&&(h=a.touches.length);d=z;var e=a,g=j;if(b.allowPageScroll===G)e.preventDefault();else{var o=b.allowPageScroll===T;switch(g){case v:(b.swipeLeft&&o||!o&&b.allowPageScroll!=M)&&e.preventDefault();break;case A:(b.swipeRight&&o||!o&&b.allowPageScroll!=M)&&e.preventDefault();break;case B:(b.swipeUp&&o||!o&&b.allowPageScroll!= N)&&e.preventDefault();break;case C:(b.swipeDown&&o||!o&&b.allowPageScroll!=N)&&e.preventDefault()}}h===b.fingers||b.fingers===x||!n?(i=U(),k=u-y,b.swipeStatus&&(c=l(a,d,j,i,k)),b.triggerOnTouchEnd||(e=!(b.maxTimeThreshold?!(k>=b.maxTimeThreshold):1),!0===D()?(d=q,c=l(a,d)):e&&(d=m,l(a,d)))):(d=m,l(a,d));!1===c&&(d=m,l(a,d))}}function L(a){a=a.originalEvent;a.preventDefault();u=(new Date).getTime();i=U();j=S();k=u-y;if(b.triggerOnTouchEnd||!1===b.triggerOnTouchEnd&&d===z)if(d=q,(h===b.fingers||b.fingers=== x||!n)&&0!==f){var c=!(b.maxTimeThreshold?!(k>=b.maxTimeThreshold):1);if((!0===D()||null===D())&&!c)l(a,d);else if(c||!1===D())d=m,l(a,d)}else d=m,l(a,d);else d===z&&(d=m,l(a,d));e.unbind(I,J,!1);e.unbind(K,L,!1)}function t(){y=u=p=f=s=r=h=0}function l(a,c){var d=void 0;b.swipeStatus&&(d=b.swipeStatus.call(e,a,c,j||null,i||0,k||0,h));if(c===m&&b.click&&(1===h||!n)&&(isNaN(i)||0===i))d=b.click.call(e,a,a.target);if(c==q)switch(b.swipe&&(d=b.swipe.call(e,a,j,i,k,h)),j){case v:b.swipeLeft&&(d=b.swipeLeft.call(e, a,j,i,k,h));break;case A:b.swipeRight&&(d=b.swipeRight.call(e,a,j,i,k,h));break;case B:b.swipeUp&&(d=b.swipeUp.call(e,a,j,i,k,h));break;case C:b.swipeDown&&(d=b.swipeDown.call(e,a,j,i,k,h))}(c===m||c===q)&&t(a);return d}function D(){return null!==b.threshold?i>=b.threshold:null}function U(){return Math.round(Math.sqrt(Math.pow(f-r,2)+Math.pow(p-s,2)))}function S(){var a;a=Math.atan2(p-s,r-f);a=Math.round(180*a/Math.PI);0>a&&(a=360-Math.abs(a));return 45>=a&&0<=a?v:360>=a&&315<=a?v:135<=a&&225>=a? A:45<a&&135>a?C:B}function V(){e.unbind(E,H);e.unbind(F,t);e.unbind(I,J);e.unbind(K,L)}var O=n||!b.fallbackToMouseEvents,E=O?"touchstart":"mousedown",I=O?"touchmove":"mousemove",K=O?"touchend":"mouseup",F="touchcancel",i=0,j=null,k=0,e=g(c),d="start",h=0,y=p=f=s=r=0,u=0;try{e.bind(E,H),e.bind(F,t)}catch(P){g.error("events not supported "+E+","+F+" on jQuery.swipe")}this.enable=function(){e.bind(E,H);e.bind(F,t);return e};this.disable=function(){V();return e};this.destroy=function(){V();e.data(w,null); return e}}var v="left",A="right",B="up",C="down",G="none",T="auto",M="horizontal",N="vertical",x="all",R="start",z="move",q="end",m="cancel",n="ontouchstart"in window,w="TouchSwipe";g.fn.swipe=function(c){var b=g(this),f=b.data(w);if(f&&"string"===typeof c){if(f[c])return f[c].apply(this,Array.prototype.slice.call(arguments,1));g.error("Method "+c+" does not exist on jQuery.swipe")}else if(!f&&("object"===typeof c||!c))return P.apply(this,arguments);return b};g.fn.swipe.defaults={fingers:1,threshold:75, maxTimeThreshold:null,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,click:null,triggerOnTouchEnd:!0,allowPageScroll:"auto",fallbackToMouseEvents:!0};g.fn.swipe.phases={PHASE_START:R,PHASE_MOVE:z,PHASE_END:q,PHASE_CANCEL:m};g.fn.swipe.directions={LEFT:v,RIGHT:A,UP:B,DOWN:C};g.fn.swipe.pageScroll={NONE:G,HORIZONTAL:M,VERTICAL:N,AUTO:T};g.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:x}})(jQuery);

View File

@ -0,0 +1,49 @@
<?php
/**
* @package Joomla.Site
* @subpackage mod_articles_news
*
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
// Include the syndicate functions only once
require_once __DIR__ . '/helper.php';
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$document =& $doc;
$template = $app->getTemplate();
$layout = $app->input->getCmd('layout', '');
// Include Camera Slideshow styles
switch($params->get('theme')){
case 0:
$document->addStyleSheet(JURI::base() . 'modules/mod_caroufredsel/css/caroufredsel.css');
break;
case 1:
$document->addStyleSheet(JURI::base() . 'templates/'.$template.'/css/caroufredsel.css');
break;
}
// Include Camera Slideshow scripts
switch($params->get('script')){
case 0:
$document->addScript(JURI::base() . 'modules/mod_caroufredsel/js/jquery.caroufredsel.js');
break;
case 1:
$document->addScript(JURI::base() . 'templates/'.$template.'/js/jquery.caroufredsel.js');
break;
}
$document->addScript(JURI::base() . 'modules/mod_caroufredsel/js/jquery.touchSwipe.min.js');
//$document->addScript(JURI::base() . 'modules/mod_caroufredsel/js/jquery.ba-throttle-debounce.min.js');
$document->addScript(JURI::base() . 'modules/mod_caroufredsel/js/jquery.mousewheel.min.js');
$list = modCarouFredSelHelper::getList($params);
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
require JModuleHelper::getLayoutPath('mod_caroufredsel', $params->get('layout', 'default'));

View File

@ -0,0 +1,386 @@
<?xml version="1.0" encoding="utf-8"?>
<extension
type="module"
version="3.1.0"
client="site"
method="upgrade">
<name>mod_caroufredsel</name>
<author></author>
<creationDate>April 2013</creationDate>
<copyright>Copyright (C) 2005 - 2012 Open Source Matters. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<authorEmail></authorEmail>
<authorUrl></authorUrl>
<version>1.2.3</version>
<description>MOD_CAROUFREDSEL_XML_DESCRIPTION</description>
<files>
<filename module="mod_caroufredsel">mod_caroufredsel.php</filename>
<folder>tmpl</folder>
<folder>js</folder>
<folder>css</folder>
<filename>helper.php</filename>
<filename>index.html</filename>
<filename>mod_caroufredsel.xml</filename>
</files>
<languages>
<language tag="en-GB">language/en-GB/en-GB.mod_caroufredsel.ini</language>
<language tag="en-GB">language/en-GB/en-GB.mod_caroufredsel.sys.ini</language>
</languages>
<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ARTICLES_NEWSFLASH" />
<config>
<fields name="params">
<fieldset name="basic">
<field
name="catid"
type="category"
extension="com_content"
multiple="true"
default=""
size="10"
label="JCATEGORY"
description="MOD_CAROUFREDSEL_FIELD_CATEGORY_DESC" >
<option value="">JOPTION_ALL_CATEGORIES</option>
</field>
<field
name="image"
type="radio"
class="btn-group"
default="0"
label="MOD_CAROUFREDSEL_FIELD_IMAGES_LABEL"
description="MOD_CAROUFREDSEL_FIELD_IMAGES_DESC">
<option
value="0">JHIDE</option>
<option
value="1">JSHOW</option>
</field>
<field
name="item_title"
type="radio"
default="0"
class="btn-group"
label="MOD_CAROUFREDSEL_FIELD_TITLE_LABEL"
description="MOD_CAROUFREDSEL_FIELD_TITLE_DESC">
<option
value="0">JHIDE</option>
<option
value="1">JSHOW</option>
</field>
<field
name="link_titles"
type="radio"
class="btn-group"
label="MOD_CAROUFREDSEL_FIELD_LINKTITLE_LABEL"
description="MOD_CAROUFREDSEL_FIELD_LINKTITLE_DESC">
<option
value="">JGLOBAL_USE_GLOBAL</option>
<option
value="0">JNO</option>
<option
value="1">JYES</option>
</field>
<field
name="published"
type="radio"
class="btn-group"
default="0"
label="MOD_CAROUFREDSEL_FIELD_PUBLISHED_LABEL"
description="MOD_CAROUFREDSEL_FIELD_PUBLISHED_DESC">
<option
value="0">JHIDE</option>
<option
value="1">JSHOW</option>
</field>
<field
name="item_heading"
type="list"
default="h4"
label="MOD_CAROUFREDSEL_TITLE_HEADING"
description="MOD_CAROUFREDSEL_TITLE_HEADING_DESCRIPTION">
<option
value="h1">JH1</option>
<option
value="h2">JH2</option>
<option
value="h3">JH3</option>
<option
value="h4">JH4</option>
<option
value="h5">JH5</option>
<option
value="h6">JH6</option>
</field>
<field name="show_tags" type="radio"
class="btn-group"
default="0"
label="MOD_CAROUFREDSEL_FIELD_SHOW_TAGS_LABEL"
description="MOD_CAROUFREDSEL_FIELD_SHOW_TAGS_DESC"
labelclass="control-label"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="intro_image"
type="radio"
class="btn-group"
default="0"
label="MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_LABEL"
description="MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_DESC">
<option
value="0">JHIDE</option>
<option
value="1">JSHOW</option>
</field>
<field
name="intro_image_align"
type="radio"
class="btn-group"
default="none"
label="MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_ALIGN_LABEL"
description="MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_ALIGN_DESC">
<option
value="none">None</option>
<option
value="left">left</option>
<option
value="right">right</option>
</field>
<!-- <field
name="showLastSeparator"
type="radio"
default="1"
label="MOD_CAROUFREDSEL_FIELD_SEPARATOR_LABEL"
description="MOD_CAROUFREDSEL_FIELD_SEPARATOR_DESC">
<option
value="1">JYES</option>
<option
value="0">JNO</option>
</field> -->
<field
name="readmore"
type="radio"
class="btn-group"
default="0"
label="MOD_CAROUFREDSEL_FIELD_READMORE_LABEL"
description="MOD_CAROUFREDSEL_FIELD_READMORE_DESC">
<option
value="0">JHIDE</option>
<option
value="1">JSHOW</option>
</field>
<field
name="count"
type="text"
default="5"
label="MOD_CAROUFREDSEL_FIELD_ITEMS_LABEL"
description="MOD_CAROUFREDSEL_FIELD_ITEMS_DESC" />
<field
name="ordering"
type="list"
default="a.publish_up"
label="MOD_CAROUFREDSEL_FIELD_ORDERING_LABEL"
description="MOD_CAROUFREDSEL_FIELD_ORDERING_DESC">
<option
value="a.publish_up">MOD_CAROUFREDSEL_FIELD_ORDERING_PUBLISHED_DATE</option>
<option
value="a.created">MOD_CAROUFREDSEL_FIELD_ORDERING_CREATED_DATE</option>
<option
value="a.ordering">MOD_CAROUFREDSEL_FIELD_ORDERING_ORDERING</option>
<option
value="rand()">MOD_CAROUFREDSEL_FIELD_ORDERING_RANDOM</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"
label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
<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="itemid">
<option
value="itemid"></option>
</field>
</fieldset>
<fieldset
name="CAROUFREDSEL">
<field type="spacer" label="MOD_CAROUFREDSEL_SPACER_GENERAL_LABEL" ></field>
<field
name="theme"
type="list"
default="0"
label="MOD_CAROUFREDSEL_THEME_LABEL"
description="MOD_CAROUFREDSEL_THEME_DESC">
<option value="0">
MOD_CAROUFREDSEL_DEFAULT
</option>
<option value="1">
MOD_CAROUFREDSEL_CUSTOM
</option>
</field>
<field
name="script"
type="list"
default="0"
label="MOD_CAROUFREDSEL_SCRIPT_LABEL"
description="MOD_CAROUFREDSEL_SCRIPT_DESC">
<option value="0">
MOD_CAROUFREDSEL_DEFAULT
</option>
<option value="1">
MOD_CAROUFREDSEL_CUSTOM
</option>
</field>
<field
name="direction"
type="list"
default="left"
label="MOD_CAROUFREDSEL_DIRECTION_LABEL"
description="MOD_CAROUFREDSEL_DIRECTION_DESC">
<option value="left">left</option>
<option value="right">right</option>
<option value="up">up</option>
<option value="down">down</option>
</field>
<field type="spacer" label="MOD_CAROUFREDSEL_SPACER_ITEMS_LABEL" ></field>
<field
name="max_width"
type="text"
default="225"
label="MOD_CAROUFREDSEL_MAX_WIDTH_LABEL"
description="MOD_CAROUFREDSEL_MAX_WIDTH_DESC">
</field>
<field
name="max_items"
type="text"
default="5"
label="MOD_CAROUFREDSEL_MAX_ITEMS_LABEL"
description="MOD_CAROUFREDSEL_MAX_ITEMS_DESC">
</field>
<field
name="min_items"
type="text"
default="2"
label="MOD_CAROUFREDSEL_MIN_ITEMS_LABEL"
description="MOD_CAROUFREDSEL_MIN_ITEMS_DESC">
</field>
<field type="spacer" label="MOD_CAROUFREDSEL_SPACER_ANIMATION_LABEL" ></field>
<field
name="fx"
type="list"
default="scroll"
label="MOD_CAROUFREDSEL_SPACER_FX_LABEL"
description="MOD_CAROUFREDSEL_SPACER_FX_DESC">
<option value="scroll">scroll</option>
<option value="directscroll">directscroll</option>
<option value="fade">fade</option>
<option value="crossfade">crossfade</option>
<option value="cover-fade">cover-fade</option>
<option value="uncover-fade">uncover-fade</option>
</field>
<field
name="easing"
type="list"
default="swing"
label="MOD_CAROUFREDSEL_SPACER_EASING_LABEL"
description="MOD_CAROUFREDSEL_SPACER_EASING_DESC">
<option value="linear">linear</option>
<option value="swing">swing</option>
<option value="quadratic">quadratic</option>
<option value="cubic">cubic</option>
</field>
<field
name="duration"
type="text"
default="500"
label="MOD_CAROUFREDSEL_DURATION_ITEMS_LABEL"
description="MOD_CAROUFREDSEL_DURATION_ITEMS_DESC">
</field>
<field type="spacer" label="MOD_CAROUFREDSEL_SPACER_CONTROLS_LABEL" ></field>
<field
name="navigation"
type="radio"
default="1"
class="btn-group"
label="MOD_CAROUFREDSEL_NAV_LABEL"
description="MOD_CAROUFREDSEL_NAV_DESC">
<option value="0">MOD_CAROUFREDSEL_HIDE</option>
<option value="1">MOD_CAROUFREDSEL_SHOW</option>
</field>
<field
name="pagination"
type="radio"
default="0"
class="btn-group"
label="MOD_CAROUFREDSEL_PAG_LABEL"
description="MOD_CAROUFREDSEL_PAG_DESC">
<option value="0">MOD_CAROUFREDSEL_HIDE</option>
<option value="1">MOD_CAROUFREDSEL_SHOW</option>
</field>
</fieldset>
</fields>
</config>
</extension>

View File

@ -0,0 +1,88 @@
<?php
/**
* @package Joomla.Site
* @subpackage mod_camera_slideshow
*
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
$item_images = json_decode($item->images);
if($layout!='edit'){
$canEdit = $item->params->get('access-edit');
JHtml::addIncludePath(JPATH_BASE.'/components/com_content/helpers');
}
$user = JFactory::getUser();
if ($canEdit) : ?>
<!-- Icons -->
<div class="item_icons btn-group pull-right"> <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> <i class="fa fa-cog"></i> <span class="caret"></span> </a>
<ul class="dropdown-menu">
<?php if ($canEdit) : ?>
<li class="edit-icon"> <?php echo JHtml::_('icon.edit', $item, $params); ?> </li>
<?php endif; ?>
</ul>
</div>
<?php endif;
$item_heading = $params->get('item_heading', 'h4');
if ($params->get('item_title')) : ?>
<<?php echo $item_heading; ?> class="item_title item_title__<?php echo $params->get('moduleclass_sfx'); ?>">
<?php if ($params->get('link_titles') && $item->link != '') : ?>
<a href="<?php echo $item->link;?>"><?php echo $item->title;?></a>
<?php else : ?>
<?php echo $item->title; ?>
<?php endif; ?>
</<?php echo $item_heading; ?>>
<?php endif;
if (!$params->get('intro_only')) :
echo $item->afterDisplayTitle;
endif;
if ($params->get('show_tags', 1) && !empty($item->tags)) :
$item->tagLayout = new JLayoutFile('joomla.content.tags');
echo $item->tagLayout->render($item->tags->itemTags);
endif;
if ($params->get('published')) : ?>
<time datetime="<?php echo JHtml::_('date', $item->publish_up, 'Y-m-d H:i'); ?>" class="item_published">
<?php echo JHtml::_('date', $item->publish_up, JText::_('DATE_FORMAT_TPL1')); ?>
</time>
<?php endif;
echo $item->beforeDisplayContent;
if ($params->get('intro_image')):
if (isset($item_images->image_intro) and !empty($item_images->image_intro)) :
$imgfloat = (empty($item_images->float_intro)) ? $params->get('float_intro') : $item_images->float_intro; ?>
<!-- Intro Image -->
<figure class="item_img img-intro img-intro__<?php echo htmlspecialchars($params->get('intro_image_align')); ?>">
<?php if ((($params->get('item_title') && $params->get('link_titles')) || $params->get('readmore')) && $item->readmore) : ?>
<a href="<?php echo $item->link;?>">
<?php endif; ?>
<img src="<?php echo JURI::base().htmlspecialchars($item_images->image_intro); ?>" alt="<?php echo htmlspecialchars($item_images->image_intro_alt); ?>">
<?php if ($item_images->image_intro_caption): ?>
<figcaption><?php echo htmlspecialchars($item_images->image_intro_caption); ?></figcaption>
<?php endif;
if ((($params->get('item_title') && $params->get('link_titles')) || $params->get('readmore')) && $item->readmore) : ?>
</a>
<?php endif; ?>
</figure>
<?php endif;
endif;
echo $item->introtext; ?>
<!-- Read More link -->
<?php if (isset($item->link) && $item->readmore != 0 && $params->get('readmore')) :
$readMoreText = JText::_('TPL_COM_CONTENT_READ_MORE');
if ($item->alternative_readmore){
$readMoreText = $item->alternative_readmore;
}
echo '<a class="btn btn-info readmore" href="'.$item->link.'"><span>'. $readMoreText .'</span></a>';
endif; ?>

View File

@ -0,0 +1,97 @@
<?php
/**
* @package Joomla.Site
* @subpackage mod_camera_slideshow
*
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::addIncludePath(JPATH_BASE.'/components/com_content/helpers');
?>
<div class="mod_caroufredsel mod_caroufredsel__<?php echo $moduleclass_sfx; ?>" id="module_<?php echo $module->id; ?>">
<div id="list_carousel_<?php echo $module->id; ?>" class="list_carousel">
<ul id="caroufredsel_<?php echo $module->id; ?>">
<?php
foreach ($list as $key => $item) : ?>
<li class="item" id="item_<?php echo $item->id; ?>">
<div class="item_content"><?php require JModuleHelper::getLayoutPath('mod_caroufredsel', '_item'); ?></div>
</li>
<?php endforeach; ?>
</ul>
<?php if ($params->get('navigation') && $key>0): ?>
<div id="carousel_<?php echo $module->id; ?>_prev" class="caroufredsel_prev"><span>&lt;</span></div>
<div id="carousel_<?php echo $module->id; ?>_next" class="caroufredsel_next"><span>&gt;</span></div>
<?php endif; ?>
<div id="carousel_<?php echo $module->id; ?>_pag" class="caroufredsel_pagination"></div>
<div class="clearfix"></div>
</div>
<?php if($params->get('mod_button') == 1): ?>
<div class="mod-newsflash-adv_custom-link">
<?php
$menuLink = $menu->getItem($params->get('custom_link_menu'));
switch ($params->get('custom_link_route'))
{
case 0:
$link_url = $params->get('custom_link_url');
break;
case 1:
$link_url = JRoute::_($menuLink->link.'&Itemid='.$menuLink->id);
break;
default:
$link_url = "#";
break;
}
echo '<a href="'. $link_url .'">'. $params->get('custom_link_title') .'</a>';
?>
</div>
<?php endif; ?>
</div>
<script>
jQuery(function($) {
var carousel = $("#caroufredsel_<?php echo $module->id; ?>")
carousel.carouFredSel({
responsive : true,
width: '100%',
items : {
width : <?php echo $params->get('max_width'); ?>,
height: 'variable',
visible : {
min : <?php echo $params->get('min_items');?>,
max : <?php echo $params->get('max_items');?>
},
minimum: 1
},
scroll: {
items: 1,
fx: "<?php echo $params->get('fx'); ?>",
easing: "<?php echo $params->get('easing'); ?>",
duration: <?php echo $params->get('duration'); ?>,
queue: true
},
auto: false,
<?php if ($params->get('navigation')): ?>
next: "#carousel_<?php echo $module->id; ?>_next",
prev: "#carousel_<?php echo $module->id; ?>_prev",
<?php endif; ?>
<?php if ($params->get('pagination')): ?>
pagination: "#carousel_<?php echo $module->id; ?>_pag",
<?php endif; ?>
swipe:{
onTouch: true
}
});
$(window).load(function(){
setTimeout(function(){
carousel.trigger('configuration', {reInit: true})
}, 100);
});
});
</script>

View File

@ -0,0 +1 @@
<!DOCTYPE html><title></title>