diff --git a/e107_plugins/gallery/e_header.php b/e107_plugins/gallery/e_header.php
new file mode 100644
index 000000000..9d5eb2974
--- /dev/null
+++ b/e107_plugins/gallery/e_header.php
@@ -0,0 +1,27 @@
+headerFile("http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js",1);
+e107::getJs()->headerPlugin('gallery', 'jslib/lightbox/js/lightbox.js');
+e107::getJs()->pluginCSS('gallery', 'jslib/lightbox/css/lightbox.css');
+
+e107::getJS()->headerFile("https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js",1);
+e107::getJS()->headerFile("https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/scriptaculous.js?load=effects",1);
+e107::getJs()->headerPlugin('gallery', 'jslib/carousel-min.js');
+e107::getJs()->pluginCSS('gallery', 'gallery_style.css');
+
+e107::getJs()->footerInline("
+ new Carousel('carousel-wrapper', $$('#carousel-content .slide'), $$('a.carousel-control', 'a.carousel-jumper'));
+");
+
+
+
+
+
+?>
\ No newline at end of file
diff --git a/e107_plugins/gallery/e_shortcode.php b/e107_plugins/gallery/e_shortcode.php
new file mode 100644
index 000000000..b237883b9
--- /dev/null
+++ b/e107_plugins/gallery/e_shortcode.php
@@ -0,0 +1,104 @@
+toAttribute($this->var['media_caption'])."' href='".e107::getParser()->replaceConstants($this->var['media_url'],'abs')."' rel='lightbox[Gallery2]' >";
+ $text .= $this->var['media_caption'];
+ $text .= "";
+ return $text;
+ }
+
+ function sc_gallery_thumb($parm='')
+ {
+ $tp = e107::getParser();
+ $att = ($parm) ?$parm : 'aw=190&ah=150';
+ $text = "";
+ $text .= "
";
+ $text .= "";
+ return $text;
+ }
+
+ function sc_gallery_cat_title($parm='')
+ {
+ $tp = e107::getParser();
+ $text = "";
+ $text .= $tp->toHtml($this->var['media_cat_title']);
+ $text .= "";
+ return $text;
+ }
+
+ function sc_gallery_cat_thumb($parm='')
+ {
+ $att = ($parm) ?$parm : 'aw=190&ah=150';
+ $text = "";
+ $text .= "
";
+ $text .= "";
+ return $text;
+ }
+
+ function sc_gallery_nextprev($parm='')
+ {
+ $url = e_SELF."?cat=".$this->curCat."--AMP--frm=--FROM--";
+ $parm = 'total='.$this->total.'&amount='.$this->amount.'¤t='.$this->from.'&url='.$url; // .'&url='.$url;
+ $text .= e107::getParser()->parseTemplate("{NEXTPREV=".$parm."}");
+ return $text;
+ }
+
+ function sc_gallery_slideshow($parm='')
+ {
+ if($parm){ $this->sliderCat = intval($parm); }
+ $template = e107::getTemplate('gallery','gallery','SLIDESHOW_WRAPPER');
+ return e107::getParser()->parseTemplate($template);
+ }
+
+ function sc_gallery_slides($parm)
+ {
+ $amount = ($parm) ? intval($parm) : 3;
+ $tp = e107::getParser();
+ $list = e107::getMedia()->getImages('gallery_'.$this->sliderCat);
+ $item_template = e107::getTemplate('gallery','gallery','SLIDESHOW_SLIDE_ITEM');
+
+ $count = 1;
+ foreach($list as $row)
+ {
+ $this->setParserVars($row);
+ $inner .= ($count == 1) ? "\n\n\n
\n" : "";
+ $inner .= "\n".$tp->parseTemplate($item_template,TRUE)."\n";
+ $inner .= ($count == $amount) ? "\n
\n\n" : "";
+
+ if($count == $amount)
+ {
+ $count = 1;
+ }
+ else
+ {
+ $count++;
+ }
+ }
+
+ $inner .= ($count != $amount) ? "" : "";
+
+ return $inner;
+ }
+
+
+}
+?>
\ No newline at end of file
diff --git a/e107_plugins/gallery/gallery.php b/e107_plugins/gallery/gallery.php
index da2141b69..8681dbdf8 100644
--- a/e107_plugins/gallery/gallery.php
+++ b/e107_plugins/gallery/gallery.php
@@ -32,25 +32,12 @@ if (!getperms("P") || !plugInstalled('gallery'))
exit;
}
-e107::getJS()->headerFile("http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js",1);
-e107::getJs()->headerPlugin('gallery', 'jslib/lightbox/js/lightbox.js');
-e107::getJs()->pluginCSS('gallery', 'jslib/lightbox/css/lightbox.css');
-e107::getJs()->pluginCSS('gallery', 'gallery_style.css');
+//e107::getJS()->headerFile("http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js",1);
+//e107::getJs()->headerPlugin('gallery', 'jslib/lightbox/js/lightbox.js');
+//e107::getJs()->pluginCSS('gallery', 'jslib/lightbox/css/lightbox.css');
+//e107::getJs()->pluginCSS('gallery', 'gallery_style.css');
-//e107::getJs()->headerPlugin('gallery', 'jslib/shadowbox/shadowbox.js');
-//e107::getJs()->pluginCSS('gallery', 'jslib/shadowbox/shadowbox.css');
-
- // e107::getJs()->headerInline('Shadowbox.init();');
-/*
-e107::getJs()->headerInline('
-Shadowbox.init({
- handleOversize: "drag",
- overlayOpacity: 0.9,
- viewportPadding: 50
-});
-');
-*/
require_once(HEADERF);
@@ -108,7 +95,6 @@ class gallery
foreach($list as $row)
{
$sc->setParserVars($row);
- // echo "THIS=".$sc->getScVar['gallery_caption'];
$inner .= $tp->parseTemplate($template['LIST_ITEM'],TRUE);
}
diff --git a/e107_plugins/gallery/gallery_style.css b/e107_plugins/gallery/gallery_style.css
index 4b763ef61..b1e53d87f 100644
--- a/e107_plugins/gallery/gallery_style.css
+++ b/e107_plugins/gallery/gallery_style.css
@@ -29,3 +29,11 @@
.lb-dataContainer { padding-top:10px; font-size: 110%;}
.lb-caption { }
+
+
+/* CAROUSEL */
+#carousel-wrapper { width: 610px; height: 170px; overflow: hidden; background: black; margin-top:10px; margin-left:auto;margin-right:auto }
+#carousel-content { width: 2500px; }
+#carousel-content .slide { float: left; width: 600px; padding:10px; height: 160px; }
+.controls { width: 610px; margin-left:auto;margin-right:auto; margin-bottom:10px; }
+.gallery-slide-item { margin-right:5px; }
diff --git a/e107_plugins/gallery/jslib/carousel-min.js b/e107_plugins/gallery/jslib/carousel-min.js
new file mode 100644
index 000000000..d85588e64
--- /dev/null
+++ b/e107_plugins/gallery/jslib/carousel-min.js
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2009 Victor Stanciu - http://www.victorstanciu.ro
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+*/
+eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('1C=19.1a(1D,{1b:7(c,d,e,f){4.o=t;4.h=$(c);4.8=d;4.k=e;4.5=F.G({p:1,1c:t,1d:3,q:1,1e:\'H-1E\',1f:\'H-1F\',I:\'H-1G\',J:\'H-1H\',r:t,v:K,w:\'1g\',S:\'T\'},f||{});6(4.5.w==\'L\'){4.5.r=K}4.8.1I(7(a,b){a.M=b});6(4.k){4.k.N(\'U\',\'V\',4.V.z(4))}6(4.5.v){4.h.U(\'1J\',4.v.1h(4)).U(\'1K\',4.v.1h(4))}6(4.5.1c){4.A()}6(4.5.1i){9 g=4.8.1L($(4.5.1i));6(g>(4.5.q-1)&&4.5.q>1){6(g>4.8.i-(4.5.q+1)){g=4.8.i-4.5.q}}4.l(4.8[g])}},V:7(a){4.B();9 b=a.1M(\'a\');6(!b.W(4.5.I)){6(b.W(4.5.1e)){1N("4."+b.1j+"()")}s 6(b.W(4.5.1f)){4.l(b.1j);6(4.5.J){4.k.N(\'1k\',4.5.J);b.1l(4.5.J)}}}4.X();a.B()},l:7(a){6(4.5.Y&&(Z 4.5.Y==\'7\')){4.5.Y()}4.10=4.m?4.m:4.8[0];4.m=$(a);9 b=4.h.1m();9 c=4.m.1m();6(4.o){4.o.1O()}1n(4.5.w){O\'L\':4.o=11 n.1o(4.h,{1p:1.0,1q:0,p:4.5.p,12:(7(){4.h.C=c[0]-b[0];4.h.D=c[1]-b[1];11 n.1o(4.h,{1p:0,1q:1.0,p:4.5.p,12:(7(){6(4.k){4.P()}6(4.5.u&&(Z 4.5.u==\'7\')){4.5.u()}}).z(4)})}).z(4)});Q;O\'1g\':1r:9 d;1n(4.5.S){O\'1s\':d=n.1t.1s;Q;O\'T\':1r:d=n.1t.T;Q}4.o=11 n.13(4.h,{p:4.5.p,x:(c[0]-b[0]),y:(c[1]-b[1]),S:d,12:(7(){6(4.k){4.P()}6(4.5.u&&(Z 4.5.u==\'7\')){4.5.u()}4.o=t}).z(4)});Q}R t},1u:7(){6(4.m){9 a=4.m.M;9 b=(a==0)?(4.5.r?4.8.i-1:0):a-1}s{9 b=(4.5.r?4.8.i-1:0)}6(b==(4.8.i-1)&&4.5.r&&4.5.w!=\'L\'){4.h.C=(4.8.i-1)*4.8.14().1P();4.h.D=(4.8.i-1)*4.8.14().1Q();b=4.8.i-2}4.l(4.8[b])},15:7(){6(4.m){9 a=4.m.M;9 b=(4.8.i-1==a)?(4.5.r?0:a):a+1}s{9 b=1}6(b==0&&4.5.r&&4.5.w!=\'L\'){4.h.C=0;4.h.D=0;b=1}6(b>4.8.i-(4.5.q+1)){b=4.8.i-4.5.q}4.l(4.8[b])},14:7(){4.l(4.8[0])},1R:7(){4.l(4.8[4.8.i-1])},1S:7(){6(4.10){4.l(4.8[4.10.M])}s{R t}},B:7(){6(4.E){1v(4.E)}},A:7(){4.16()},1T:7(){4.B();4.P()},1U:7(b){6(b){9 c=b.1V||b.1W;6(!c||(!4.8.1X(c)&&!4.8.1Y(7(a){R c.1Z(a)}))){4.A()}}s{4.A()}},16:7(){6(4.E!=20){1v(4.E);4.15()}4.E=21(4.16.z(4),4.5.1d*22)},v:7(a){a.23=K;a.B();9 b=0;6(!a){a=24.25}6(a.1w){b=a.1w/26}s 6(a.1x){b=-a.1x/3}6(!4.o){4.X();6(b>0){4.1u()}s{4.15()}}R 27.28(b)},X:7(){4.k.N(\'1l\',4.5.I)},P:7(){4.k.N(\'1k\',4.5.I)}});n.13=19.1a();F.G(F.G(n.13.1y,n.29.1y),{1b:7(a){4.j=$(a);9 b=F.G({x:0,y:0,1z:\'1A\'},2a[1]||{});4.A(b)},2b:7(){6(4.5.2c&&!4.j.1B){4.j.2d();4.j.1B=K;4.j.2e(4.j.2f)}4.17=4.j.C;4.18=4.j.D;6(4.5.1z==\'1A\'){4.5.x-=4.17;4.5.y-=4.18}},2g:7(a){4.j.C=4.5.x*a+4.17;4.j.D=4.5.y*a+4.18}});',62,141,'||||this|options|if|function|slides|var||||||||scroller|length|element|controls|moveTo|current|Effect|scrolling|duration|visibleSlides|circular|else|false|afterMove|wheel|effect|||bind|start|stop|scrollLeft|scrollTop|timer|Object|extend|carousel|disabledClassName|selectedClassName|true|fade|_index|invoke|case|activateControls|break|return|transition|sinoidal|observe|click|hasClassName|deactivateControls|beforeMove|typeof|previous|new|afterFinish|SmoothScroll|first|next|periodicallyUpdate|originalLeft|originalTop|Class|create|initialize|auto|frequency|controlClassName|jumperClassName|scroll|bindAsEventListener|initial|rel|removeClassName|addClassName|cumulativeOffset|switch|Opacity|from|to|default|spring|Transitions|prev|clearTimeout|wheelDelta|detail|prototype|mode|absolute|_ext|Carousel|Abstract|control|jumper|disabled|selected|each|mousewheel|DOMMouseScroll|indexOf|findElement|eval|cancel|getWidth|getHeight|last|toggle|pause|resume|relatedTarget|toElement|include|any|descendantOf|null|setTimeout|1000|cancelBubble|window|event|120|Math|round|Base|arguments|setup|continuous|cleanWhitespace|appendChild|firstChild|update'.split('|'),0,{}))
\ No newline at end of file
diff --git a/e107_plugins/gallery/shortcodes/batch/gallery_shortcodes.php b/e107_plugins/gallery/shortcodes/batch/gallery_shortcodes.php
index cfeb025b6..e95b35e8d 100644
--- a/e107_plugins/gallery/shortcodes/batch/gallery_shortcodes.php
+++ b/e107_plugins/gallery/shortcodes/batch/gallery_shortcodes.php
@@ -8,7 +8,10 @@
if (!defined('e107_INIT')) { exit; }
-
+/*
+// SEE e_shortcode.php instead.
+
+
class gallery_shortcodes extends e_shortcode
{
@@ -64,3 +67,4 @@ class gallery_shortcodes extends e_shortcode
}
+*/
diff --git a/e107_plugins/gallery/templates/gallery_template.php b/e107_plugins/gallery/templates/gallery_template.php
index 28104ed57..b4c9a8d1c 100644
--- a/e107_plugins/gallery/templates/gallery_template.php
+++ b/e107_plugins/gallery/templates/gallery_template.php
@@ -43,6 +43,23 @@ $GALLERY_TEMPLATE['CAT_END'] =
";
+
+// {GALLERY_SLIDESHOW=X} X = Gallery Category. Default: 1 (ie. 'gallery_1')
+// {GALLERY_SLIDES=X} X = number of items per slide.
+$GALLERY_TEMPLATE['SLIDESHOW_WRAPPER'] = '
+
+
+ {GALLERY_SLIDES=3}
+
+
+
+ ';
+
+$GALLERY_TEMPLATE['SLIDESHOW_SLIDE_ITEM'] = '{GALLERY_THUMB}';
+
?>
\ No newline at end of file