refinerycms-videos 1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. data/app/assets/images/colorbox/border.png +0 -0
  2. data/app/assets/images/colorbox/controls.png +0 -0
  3. data/app/assets/images/colorbox/ie6/borderBottomCenter.png +0 -0
  4. data/app/assets/images/colorbox/ie6/borderBottomLeft.png +0 -0
  5. data/app/assets/images/colorbox/ie6/borderBottomRight.png +0 -0
  6. data/app/assets/images/colorbox/ie6/borderMiddleLeft.png +0 -0
  7. data/app/assets/images/colorbox/ie6/borderMiddleRight.png +0 -0
  8. data/app/assets/images/colorbox/ie6/borderTopCenter.png +0 -0
  9. data/app/assets/images/colorbox/ie6/borderTopLeft.png +0 -0
  10. data/app/assets/images/colorbox/ie6/borderTopRight.png +0 -0
  11. data/app/assets/images/colorbox/loading.gif +0 -0
  12. data/app/assets/images/colorbox/loading_background.png +0 -0
  13. data/app/assets/images/colorbox/overlay.png +0 -0
  14. data/app/assets/images/video_play.png +0 -0
  15. data/app/assets/javascripts/jquery.colorbox-min.js +4 -0
  16. data/app/assets/javascripts/jquery.refinerycms-videos.js +18 -0
  17. data/app/assets/stylesheets/colorbox.css +82 -0
  18. data/app/controllers/refinery/videos/admin/videos_controller.rb +12 -0
  19. data/app/controllers/refinery/videos/videos_controller.rb +26 -0
  20. data/app/models/refinery/videos/video.rb +12 -0
  21. data/app/views/refinery/videos/admin/videos/_actions.html.erb +25 -0
  22. data/app/views/{admin → refinery/videos/admin}/videos/_form.html.erb +13 -14
  23. data/app/views/refinery/videos/admin/videos/_records.html.erb +18 -0
  24. data/app/views/refinery/videos/admin/videos/_sortable_list.html.erb +5 -0
  25. data/app/views/refinery/videos/admin/videos/_video.html.erb +20 -0
  26. data/app/views/refinery/videos/admin/videos/_videos.html.erb +2 -0
  27. data/app/views/refinery/videos/admin/videos/edit.html.erb +1 -0
  28. data/app/views/refinery/videos/admin/videos/index.html.erb +7 -0
  29. data/app/views/refinery/videos/admin/videos/new.html.erb +1 -0
  30. data/app/views/refinery/videos/videos/index.html.erb +15 -0
  31. data/config/locales/en.yml +27 -23
  32. data/config/locales/es.yml +30 -0
  33. data/config/locales/fr.yml +27 -23
  34. data/config/locales/nb.yml +27 -19
  35. data/config/locales/nl.yml +27 -19
  36. data/config/routes.rb +19 -11
  37. data/db/migrate/1_create_videos_videos.rb +28 -0
  38. data/db/seeds.rb +21 -0
  39. data/lib/generators/refinery/videos_generator.rb +18 -0
  40. data/lib/refinery/videos/engine.rb +27 -0
  41. data/lib/refinery/videos.rb +21 -0
  42. data/lib/refinerycms-videos.rb +1 -21
  43. data/lib/tasks/{videos.rake → refinery/videos.rake} +5 -5
  44. data/readme.md +31 -0
  45. metadata +78 -25
  46. data/app/controllers/admin/videos_controller.rb +0 -8
  47. data/app/controllers/videos_controller.rb +0 -19
  48. data/app/models/video.rb +0 -8
  49. data/app/views/admin/videos/_actions.html.erb +0 -28
  50. data/app/views/admin/videos/_records.html.erb +0 -18
  51. data/app/views/admin/videos/_sortable_list.html.erb +0 -7
  52. data/app/views/admin/videos/_video.html.erb +0 -15
  53. data/app/views/admin/videos/_videos.html.erb +0 -2
  54. data/app/views/admin/videos/edit.html.erb +0 -1
  55. data/app/views/admin/videos/index.html.erb +0 -10
  56. data/app/views/admin/videos/new.html.erb +0 -1
  57. data/app/views/shared/_video.html.erb +0 -5
  58. data/app/views/videos/index.html.erb +0 -15
  59. data/config/locales/lolcat.yml +0 -25
  60. data/lib/generators/refinerycms_videos_generator.rb +0 -6
Binary file
@@ -0,0 +1,4 @@
1
+ // ColorBox v1.3.17.1 - a full featured, light-weight, customizable lightbox based on jQuery 1.3+
2
+ // Copyright (c) 2011 Jack Moore - jack@colorpowered.com
3
+ // Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
4
+ (function(a,b,c){function bc(b){if(!T){O=b,_(a.extend(J,a.data(O,e))),x=a(O),P=0,J.rel!=="nofollow"&&(x=a("."+X).filter(function(){var b=a.data(this,e).rel||this.rel;return b===J.rel}),P=x.index(O),P===-1&&(x=x.add(O),P=x.length-1));if(!R){R=S=!0,q.show();if(J.returnFocus)try{O.blur(),a(O).one(k,function(){try{this.focus()}catch(a){}})}catch(c){}p.css({opacity:+J.opacity,cursor:J.overlayClose?"pointer":"auto"}).show(),J.w=Z(J.initialWidth,"x"),J.h=Z(J.initialHeight,"y"),W.position(0),n&&y.bind("resize."+o+" scroll."+o,function(){p.css({width:y.width(),height:y.height(),top:y.scrollTop(),left:y.scrollLeft()})}).trigger("resize."+o),ba(g,J.onOpen),I.add(C).hide(),H.html(J.close).show()}W.load(!0)}}function bb(){var a,b=f+"Slideshow_",c="click."+f,d,e,g;J.slideshow&&x[1]?(d=function(){E.text(J.slideshowStop).unbind(c).bind(i,function(){if(P<x.length-1||J.loop)a=setTimeout(W.next,J.slideshowSpeed)}).bind(h,function(){clearTimeout(a)}).one(c+" "+j,e),q.removeClass(b+"off").addClass(b+"on"),a=setTimeout(W.next,J.slideshowSpeed)},e=function(){clearTimeout(a),E.text(J.slideshowStart).unbind([i,h,j,c].join(" ")).one(c,d),q.removeClass(b+"on").addClass(b+"off")},J.slideshowAuto?d():e()):q.removeClass(b+"off "+b+"on")}function ba(b,c){c&&c.call(O),a.event.trigger(b)}function _(b){for(var c in b)a.isFunction(b[c])&&c.substring(0,2)!=="on"&&(b[c]=b[c].call(O));b.rel=b.rel||O.rel||"nofollow",b.href=b.href||a(O).attr("href"),b.title=b.title||O.title,typeof b.href=="string"&&(b.href=a.trim(b.href))}function $(a){return J.photo||/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i.test(a)}function Z(a,b){b=b==="x"?y.width():y.height();return typeof a=="string"?Math.round(/%/.test(a)?b/100*parseInt(a,10):parseInt(a,10)):a}function Y(c,d){var e=b.createElement("div");c&&(e.id=f+c),e.style.cssText=d||"";return a(e)}var d={transition:"elastic",speed:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:!1,returnFocus:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:!1},e="colorbox",f="cbox",g=f+"_open",h=f+"_load",i=f+"_complete",j=f+"_cleanup",k=f+"_closed",l=f+"_purge",m=a.browser.msie&&!a.support.opacity,n=m&&a.browser.version<7,o=f+"_IE6",p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J={},K,L,M,N,O,P,Q,R,S,T,U,V,W,X=f+"Element";W=a.fn[e]=a[e]=function(b,c){var f=this,g;if(!f[0]&&f.selector)return f;b=b||{},c&&(b.onComplete=c);if(!f[0]||f.selector===undefined)f=a("<a/>"),b.open=!0;f.each(function(){a.data(this,e,a.extend({},a.data(this,e)||d,b)),a(this).addClass(X)}),g=b.open,a.isFunction(g)&&(g=g.call(f)),g&&bc(f[0]);return f},W.init=function(){y=a(c),q=Y().attr({id:e,"class":m?f+(n?"IE6":"IE"):""}),p=Y("Overlay",n?"position:absolute":"").hide(),r=Y("Wrapper"),s=Y("Content").append(z=Y("LoadedContent","width:0; height:0; overflow:hidden"),B=Y("LoadingOverlay").add(Y("LoadingGraphic")),C=Y("Title"),D=Y("Current"),F=Y("Next"),G=Y("Previous"),E=Y("Slideshow").bind(g,bb),H=Y("Close")),r.append(Y().append(Y("TopLeft"),t=Y("TopCenter"),Y("TopRight")),Y(!1,"clear:left").append(u=Y("MiddleLeft"),s,v=Y("MiddleRight")),Y(!1,"clear:left").append(Y("BottomLeft"),w=Y("BottomCenter"),Y("BottomRight"))).children().children().css({"float":"left"}),A=Y(!1,"position:absolute; width:9999px; visibility:hidden; display:none"),a("body").prepend(p,q.append(r,A)),s.children().hover(function(){a(this).addClass("hover")},function(){a(this).removeClass("hover")}).addClass("hover"),K=t.height()+w.height()+s.outerHeight(!0)-s.height(),L=u.width()+v.width()+s.outerWidth(!0)-s.width(),M=z.outerHeight(!0),N=z.outerWidth(!0),q.css({"padding-bottom":K,"padding-right":L}).hide(),F.click(function(){W.next()}),G.click(function(){W.prev()}),H.click(function(){W.close()}),I=F.add(G).add(D).add(E),s.children().removeClass("hover"),p.click(function(){J.overlayClose&&W.close()}),a(b).bind("keydown."+f,function(a){var b=a.keyCode;R&&J.escKey&&b===27&&(a.preventDefault(),W.close()),R&&J.arrowKey&&x[1]&&(b===37?(a.preventDefault(),G.click()):b===39&&(a.preventDefault(),F.click()))})},W.remove=function(){q.add(p).remove(),a("."+X).removeData(e).removeClass(X)},W.position=function(a,c){function g(a){t[0].style.width=w[0].style.width=s[0].style.width=a.style.width,B[0].style.height=B[1].style.height=s[0].style.height=u[0].style.height=v[0].style.height=a.style.height}var d,e=0,f=0;q.hide(),J.fixed&&!n?q.css({position:"fixed"}):(e=y.scrollTop(),f=y.scrollLeft(),q.css({position:"absolute"})),J.right!==!1?f+=Math.max(y.width()-J.w-N-L-Z(J.right,"x"),0):J.left!==!1?f+=Z(J.left,"x"):f+=Math.max(y.width()-J.w-N-L,0)/2,J.bottom!==!1?e+=Math.max(b.documentElement.clientHeight-J.h-M-K-Z(J.bottom,"y"),0):J.top!==!1?e+=Z(J.top,"y"):e+=Math.max(b.documentElement.clientHeight-J.h-M-K,0)/2,q.show(),d=q.width()===J.w+N&&q.height()===J.h+M?0:a,r[0].style.width=r[0].style.height="9999px",q.dequeue().animate({width:J.w+N,height:J.h+M,top:e,left:f},{duration:d,complete:function(){g(this),S=!1,r[0].style.width=J.w+N+L+"px",r[0].style.height=J.h+M+K+"px",c&&c()},step:function(){g(this)}})},W.resize=function(a){if(R){a=a||{},a.width&&(J.w=Z(a.width,"x")-N-L),a.innerWidth&&(J.w=Z(a.innerWidth,"x")),z.css({width:J.w}),a.height&&(J.h=Z(a.height,"y")-M-K),a.innerHeight&&(J.h=Z(a.innerHeight,"y"));if(!a.innerHeight&&!a.height){var b=z.wrapInner("<div style='overflow:auto'></div>").children();J.h=b.height(),b.replaceWith(b.children())}z.css({height:J.h}),W.position(J.transition==="none"?0:J.speed)}},W.prep=function(b){function h(b){W.position(b,function(){function o(){m&&q[0].style.removeAttribute("filter")}var b,d,g,h,j=x.length,k,n;!R||(n=function(){clearTimeout(V),B.hide(),ba(i,J.onComplete)},m&&Q&&z.fadeIn(100),C.html(J.title).add(z).show(),j>1?(typeof J.current=="string"&&D.html(J.current.replace(/\{current\}/,P+1).replace(/\{total\}/,j)).show(),F[J.loop||P<j-1?"show":"hide"]().html(J.next),G[J.loop||P?"show":"hide"]().html(J.previous),b=P?x[P-1]:x[j-1],g=P<j-1?x[P+1]:x[0],J.slideshow&&E.show(),J.preloading&&(h=a.data(g,e).href||g.href,d=a.data(b,e).href||b.href,h=a.isFunction(h)?h.call(g):h,d=a.isFunction(d)?d.call(b):d,$(h)&&(a("<img/>")[0].src=h),$(d)&&(a("<img/>")[0].src=d))):I.hide(),J.iframe?(k=a("<iframe/>").addClass(f+"Iframe")[0],J.fastIframe?n():a(k).one("load",n),k.name=f+ +(new Date),k.src=J.href,J.scrolling||(k.scrolling="no"),m&&(k.frameBorder=0,k.allowTransparency="true"),a(k).appendTo(z).one(l,function(){k.src="//about:blank"})):n(),J.transition==="fade"?q.fadeTo(c,1,o):o(),y.bind("resize."+f,function(){W.position(0)}))})}function g(){J.h=J.h||z.height(),J.h=J.mh&&J.mh<J.h?J.mh:J.h;return J.h}function d(){J.w=J.w||z.width(),J.w=J.mw&&J.mw<J.w?J.mw:J.w;return J.w}if(!!R){var c=J.transition==="none"?0:J.speed;y.unbind("resize."+f),z.remove(),z=Y("LoadedContent").html(b),z.hide().appendTo(A.show()).css({width:d(),overflow:J.scrolling?"auto":"hidden"}).css({height:g()}).prependTo(s),A.hide(),a(Q).css({"float":"none"}),n&&a("select").not(q.find("select")).filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one(j,function(){this.style.visibility="inherit"}),J.transition==="fade"?q.fadeTo(c,0,function(){h(0)}):h(c)}},W.load=function(b){var c,d,g=W.prep;S=!0,Q=!1,O=x[P],b||_(a.extend(J,a.data(O,e))),ba(l),ba(h,J.onLoad),J.h=J.height?Z(J.height,"y")-M-K:J.innerHeight&&Z(J.innerHeight,"y"),J.w=J.width?Z(J.width,"x")-N-L:J.innerWidth&&Z(J.innerWidth,"x"),J.mw=J.w,J.mh=J.h,J.maxWidth&&(J.mw=Z(J.maxWidth,"x")-N-L,J.mw=J.w&&J.w<J.mw?J.w:J.mw),J.maxHeight&&(J.mh=Z(J.maxHeight,"y")-M-K,J.mh=J.h&&J.h<J.mh?J.h:J.mh),c=J.href,V=setTimeout(function(){B.show()},100),J.inline?(Y().hide().insertBefore(a(c)[0]).one(l,function(){a(this).replaceWith(z.children())}),g(a(c))):J.iframe?g(" "):J.html?g(J.html):$(c)?(a(Q=new Image).addClass(f+"Photo").error(function(){J.title=!1,g(Y("Error").text("This image could not be loaded"))}).load(function(){var a;Q.onload=null,J.scalePhotos&&(d=function(){Q.height-=Q.height*a,Q.width-=Q.width*a},J.mw&&Q.width>J.mw&&(a=(Q.width-J.mw)/Q.width,d()),J.mh&&Q.height>J.mh&&(a=(Q.height-J.mh)/Q.height,d())),J.h&&(Q.style.marginTop=Math.max(J.h-Q.height,0)/2+"px"),x[1]&&(P<x.length-1||J.loop)&&(Q.style.cursor="pointer",Q.onclick=function(){W.next()}),m&&(Q.style.msInterpolationMode="bicubic"),setTimeout(function(){g(Q)},1)}),setTimeout(function(){Q.src=c},1)):c&&A.load(c,J.data,function(b,c,d){g(c==="error"?Y("Error").text("Request unsuccessful: "+d.statusText):a(this).contents())})},W.next=function(){!S&&x[1]&&(P<x.length-1||J.loop)&&(P=P<x.length-1?P+1:0,W.load())},W.prev=function(){!S&&x[1]&&(P||J.loop)&&(P=P?P-1:x.length-1,W.load())},W.close=function(){R&&!T&&(T=!0,R=!1,ba(j,J.onCleanup),y.unbind("."+f+" ."+o),p.fadeTo(200,0),q.stop().fadeTo(300,0,function(){q.add(p).css({opacity:1,cursor:"auto"}).hide(),ba(l),z.remove(),setTimeout(function(){T=!1,ba(k,J.onClosed)},1)}))},W.element=function(){return a(O)},W.settings=d,U=function(a){a.button!==0&&typeof a.button!="undefined"||a.ctrlKey||a.shiftKey||a.altKey||(a.preventDefault(),bc(this))},a.fn.delegate?a(b).delegate("."+X,"click",U):a("."+X).live("click",U),a(W.init)})(jQuery,document,this)
@@ -0,0 +1,18 @@
1
+ // JavaScript Document
2
+
3
+ $(document).ready(function() {
4
+
5
+ $(".tilevideo a.ytlink").each(function(index) {
6
+ if ($(this).attr("complete") != "true") {
7
+ var str = $(this).attr("href");
8
+ var ytid = str.substring(str.lastIndexOf("/") + 1, str.length);
9
+ str = "http://www.youtube.com/embed/" + ytid + "?rel=0";
10
+ $(this).attr("href", str);
11
+ $(this).attr("complete", "true");
12
+ $(this).html($(this).html() + "<div class='ytvid_img'><img src='http://img.youtube.com/vi/" + ytid + "/0.jpg' width='290' /></div><img src='/images/video_play.png' class='pic_bg' />")
13
+ }
14
+ });
15
+
16
+ $(".tilevideo a").colorbox({iframe:true, innerWidth:640, innerHeight:390, transition:"elastic", opacity:"0.6"});
17
+
18
+ });
@@ -0,0 +1,82 @@
1
+ /*
2
+ ColorBox Core Style:
3
+ The following CSS is consistent between example themes and should not be altered.
4
+ */
5
+ #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
6
+ #cboxOverlay{position:fixed; width:100%; height:100%;}
7
+ #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
8
+ #cboxContent{position:relative;}
9
+ #cboxLoadedContent{overflow:auto;}
10
+ #cboxTitle{margin:0;}
11
+ #cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%;}
12
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
13
+ .cboxPhoto{float:left; margin:auto; border:0; display:block;}
14
+ .cboxIframe{width:100%; height:100%; display:block; border:0;}
15
+
16
+ /*
17
+ User Style:
18
+ Change the following styles to modify the appearance of ColorBox. They are
19
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
20
+ */
21
+ #cboxOverlay{background:url(../images/colorbox/overlay.png) repeat 0 0;}
22
+ #colorbox{}
23
+ #cboxTopLeft{width:21px; height:21px; background:url(../images/colorbox/controls.png) no-repeat -100px 0;}
24
+ #cboxTopRight{width:21px; height:21px; background:url(../images/colorbox/controls.png) no-repeat -129px 0;}
25
+ #cboxBottomLeft{width:21px; height:21px; background:url(../images/colorbox/controls.png) no-repeat -100px -29px;}
26
+ #cboxBottomRight{width:21px; height:21px; background:url(../images/colorbox/controls.png) no-repeat -129px -29px;}
27
+ #cboxMiddleLeft{width:21px; background:url(../images/colorbox/controls.png) left top repeat-y;}
28
+ #cboxMiddleRight{width:21px; background:url(../images/colorbox/controls.png) right top repeat-y;}
29
+ #cboxTopCenter{height:21px; background:url(../images/colorbox/border.png) 0 0 repeat-x;}
30
+ #cboxBottomCenter{height:21px; background:url(../images/colorbox/border.png) 0 -29px repeat-x;}
31
+ #cboxContent{background:#fff; overflow:hidden;}
32
+ #cboxError{padding:50px; border:1px solid #ccc;}
33
+ #cboxLoadedContent{margin-bottom:28px;}
34
+ #cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;}
35
+ #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;}
36
+ #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
37
+ #cboxPrevious{position:absolute; bottom:0; left:0; background:url(../images/colorbox/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
38
+ #cboxPrevious.hover{background-position:-75px -25px;}
39
+ #cboxNext{position:absolute; bottom:0; left:27px; background:url(../images/colorbox/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
40
+ #cboxNext.hover{background-position:-50px -25px;}
41
+ #cboxLoadingOverlay{background:url(../images/colorbox/loading_background.png) no-repeat center center;}
42
+ #cboxLoadingGraphic{background:url(../images/colorbox/loading.gif) no-repeat center center;}
43
+ #cboxClose{position:absolute; bottom:0; right:0; background:url(../images/colorbox/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
44
+ #cboxClose.hover{background-position:-25px -25px;}
45
+
46
+ /*
47
+ The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
48
+ when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to IE9.
49
+ */
50
+ .cboxIE #cboxTopLeft,
51
+ .cboxIE #cboxTopCenter,
52
+ .cboxIE #cboxTopRight,
53
+ .cboxIE #cboxBottomLeft,
54
+ .cboxIE #cboxBottomCenter,
55
+ .cboxIE #cboxBottomRight,
56
+ .cboxIE #cboxMiddleLeft,
57
+ .cboxIE #cboxMiddleRight {
58
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
59
+ }
60
+
61
+ /*
62
+ The following provides PNG transparency support for IE6
63
+ */
64
+ .cboxIE6 #cboxTopLeft{background:url(../images/colorbox/ie6/borderTopLeft.png);}
65
+ .cboxIE6 #cboxTopCenter{background:url(../images/colorbox/ie6/borderTopCenter.png);}
66
+ .cboxIE6 #cboxTopRight{background:url(../images/colorbox/ie6/borderTopRight.png);}
67
+ .cboxIE6 #cboxBottomLeft{background:url(../images/colorbox/ie6/borderBottomLeft.png);}
68
+ .cboxIE6 #cboxBottomCenter{background:url(../images/colorbox/ie6/borderBottomCenter.png);}
69
+ .cboxIE6 #cboxBottomRight{background:url(../images/colorbox/ie6/borderBottomRight.png);}
70
+ .cboxIE6 #cboxMiddleLeft{background:url(../images/colorbox/ie6/borderMiddleLeft.png);}
71
+ .cboxIE6 #cboxMiddleRight{background:url(../images/colorbox/ie6/borderMiddleRight.png);}
72
+
73
+ .cboxIE6 #cboxTopLeft,
74
+ .cboxIE6 #cboxTopCenter,
75
+ .cboxIE6 #cboxTopRight,
76
+ .cboxIE6 #cboxBottomLeft,
77
+ .cboxIE6 #cboxBottomCenter,
78
+ .cboxIE6 #cboxBottomRight,
79
+ .cboxIE6 #cboxMiddleLeft,
80
+ .cboxIE6 #cboxMiddleRight {
81
+ _behavior: expression(this.src = this.src ? this.src : this.currentStyle.backgroundImage.split('"')[1], this.style.background = "none", this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.src + ", sizingMethod='scale')");
82
+ }
@@ -0,0 +1,12 @@
1
+ module Refinery
2
+ module Videos
3
+ module Admin
4
+ class VideosController < ::Refinery::AdminController
5
+
6
+ crudify :'refinery/videos/video',
7
+ :title_attribute => 'name', :xhr_paging => true
8
+
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,26 @@
1
+ module Refinery
2
+ module Videos
3
+ class VideosController < ::ApplicationController
4
+
5
+ before_filter :find_all_videos
6
+ before_filter :find_page
7
+
8
+ def index
9
+ # you can use meta fields from your model instead (e.g. browser_title)
10
+ # by swapping @page for @video in the line below:
11
+ present(@page)
12
+ end
13
+
14
+ protected
15
+
16
+ def find_all_videos
17
+ @videos = Video.order('position ASC')
18
+ end
19
+
20
+ def find_page
21
+ @page = ::Refinery::Page.where(:link_url => "/videos").first
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,12 @@
1
+ module Refinery
2
+ module Videos
3
+ class Video < Refinery::Core::BaseModel
4
+ self.table_name = 'refinery_videos'
5
+
6
+ acts_as_indexed :fields => [:name, :youtube_url, :body]
7
+
8
+ validates_presence_of :name, :youtube_url
9
+
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,25 @@
1
+ <ul>
2
+ <% if ::Refinery::Videos::Admin::VideosController.searchable? %>
3
+ <li>
4
+ <%= render '/refinery/admin/search', :url => refinery.videos_admin_videos_path %>
5
+ </li>
6
+ <% end %>
7
+ <li>
8
+ <%= link_to t('.create_new'), refinery.new_videos_admin_video_path,
9
+ :class => "add_icon" %>
10
+ </li>
11
+ <% if !searching? && ::Refinery::Videos::Admin::VideosController.sortable? && ::Refinery::Videos::Video.any? %>
12
+ <li>
13
+ <%= link_to t('.reorder', :what => "Videos"),
14
+ refinery.videos_admin_videos_path,
15
+ :id => "reorder_action",
16
+ :class => "reorder_icon" %>
17
+
18
+ <%= link_to t('.reorder_done', :what => "Videos"),
19
+ refinery.videos_admin_videos_path,
20
+ :id => "reorder_action_done",
21
+ :style => "display: none;",
22
+ :class => "reorder_icon" %>
23
+ </li>
24
+ <% end %>
25
+ </ul>
@@ -1,17 +1,19 @@
1
- <%= form_for [:admin, @video] do |f| -%>
2
- <%= render :partial => "/shared/admin/error_messages", :locals => {
3
- :object => @video,
4
- :include_object_name => true
5
- } %>
1
+ <%= form_for [refinery, :videos_admin, @video] do |f| -%>
2
+ <%= render '/refinery/admin/error_messages',
3
+ :object => @video,
4
+ :include_object_name => true %>
5
+
6
6
 
7
7
  <div class='field'>
8
8
  <%= f.label :name -%>
9
9
  <%= f.text_field :name, :class => 'larger widest' -%>
10
+
10
11
  </div>
11
12
 
12
13
  <div class='field'>
13
14
  <%= f.label :youtube_url -%>
14
15
  <%= f.text_field :youtube_url -%>
16
+
15
17
  </div>
16
18
 
17
19
  <div class='field'>
@@ -19,11 +21,10 @@
19
21
  <ul id='page_parts'>
20
22
  <% [:body].each_with_index do |part, part_index| %>
21
23
  <li class='ui-state-default<%= ' ui-state-active' if part_index == 0 %>'>
22
- <%= link_to part.to_s.titleize, "##{part}" %>
24
+ <%= link_to t("#{part}", :scope => "activerecord.attributes.refinery/videos/video", :default => part.to_s.titleize), "##{part}" %>
23
25
  </li>
24
26
  <% end %>
25
27
  </ul>
26
-
27
28
  <div id='page_part_editors'>
28
29
  <% [:body].each do |part| %>
29
30
  <div class='page_part' id='<%= part %>'>
@@ -32,15 +33,13 @@
32
33
  <% end %>
33
34
  </div>
34
35
  </div>
36
+
35
37
  </div>
36
38
 
37
- <%= render :partial => "/shared/admin/form_actions",
38
- :locals => {
39
- :f => f,
40
- :continue_editing => false,
41
- :delete_title => t('delete', :scope => 'admin.videos.video'),
42
- :delete_confirmation => t('message', :scope => 'shared.admin.delete', :title => @video.name)
43
- } %>
39
+ <%= render '/refinery/admin/form_actions', :f => f,
40
+ :continue_editing => false,
41
+ :delete_title => t('delete', :scope => 'refinery.videos.admin.videos.video'),
42
+ :delete_confirmation => t('message', :scope => 'refinery.admin.delete', :title => @video.name) %>
44
43
  <% end -%>
45
44
  <% content_for :javascripts do %>
46
45
  <script>
@@ -0,0 +1,18 @@
1
+ <% if searching? %>
2
+ <h2><%= t('results_for', :scope => 'refinery.admin.search', :query => params[:search]) %></h2>
3
+ <% end %>
4
+ <div class='pagination_container'>
5
+ <% if @videos.any? %>
6
+ <%= render 'videos' %>
7
+ <% else %>
8
+ <p>
9
+ <% unless searching? %>
10
+ <strong>
11
+ <%= t('.no_items_yet') %>
12
+ </strong>
13
+ <% else %>
14
+ <%= t('no_results', :scope => 'refinery.admin.search') %>
15
+ <% end %>
16
+ </p>
17
+ <% end %>
18
+ </div>
@@ -0,0 +1,5 @@
1
+ <ul id='sortable_list'>
2
+ <%= render :partial => 'video', :collection => @videos %>
3
+ </ul>
4
+ <%= render '/refinery/admin/sortable_list',
5
+ :continue_reordering => (local_assigns.keys.include?(:continue_reordering)) ? continue_reordering : true %>
@@ -0,0 +1,20 @@
1
+ <li class='clearfix record <%= cycle("on", "on-hover") %>' id="<%= dom_id(video) -%>">
2
+ <span class='title'>
3
+ <%= video.name %>
4
+
5
+ </span>
6
+ <span class='actions'>
7
+
8
+ <%= link_to refinery_icon_tag("application_go.png"), refinery.videos_video_path(video),
9
+ :title => t('.view_live_html'),
10
+ :target => "_blank" %>
11
+
12
+ <%= link_to refinery_icon_tag("application_edit.png"), refinery.edit_videos_admin_video_path(video),
13
+ :title => t('.edit') %>
14
+ <%= link_to refinery_icon_tag("delete.png"), refinery.videos_admin_video_path(video),
15
+ :class => "cancel confirm-delete",
16
+ :title => t('.delete'),
17
+ :confirm => t('message', :scope => 'refinery.admin.delete', :title => video.name),
18
+ :method => :delete %>
19
+ </span>
20
+ </li>
@@ -0,0 +1,2 @@
1
+ <%= will_paginate @videos if Refinery::Videos::Admin::VideosController.pageable? %>
2
+ <%= render 'sortable_list' %>
@@ -0,0 +1 @@
1
+ <%= render 'form' %>
@@ -0,0 +1,7 @@
1
+ <section id='records'>
2
+ <%= render 'records' %>
3
+ </section>
4
+ <aside id='actions'>
5
+ <%= render 'actions' %>
6
+ </aside>
7
+ <%= render '/refinery/admin/make_sortable', :tree => false if !searching? and ::Refinery::Videos::Admin::VideosController.sortable? and ::Refinery::Videos::Video.count > 1 %>
@@ -0,0 +1 @@
1
+ <%= render 'form' %>
@@ -0,0 +1,15 @@
1
+ <% content_for :body_content_left do %>
2
+ <ul class="videos">
3
+ <% @videos.each do |video| %>
4
+ <li>
5
+ <div class="tilevideo" targeturl="<%= video.youtube_url %>">
6
+ <h1><%= video.name %></h1>
7
+ <%= link_to('', video.youtube_url, :class => "ytlink") %>
8
+ <%= raw(video.body) %>
9
+ </div>
10
+ </li>
11
+ <% end %>
12
+ </ul>
13
+ <% end %>
14
+
15
+ <%= render '/refinery/content_page' %>
@@ -1,25 +1,29 @@
1
1
  en:
2
- shared:
3
- admin:
4
- image_picker:
5
- image: image
6
- plugins:
7
- videos:
8
- title: Videos
9
- admin:
10
- videos:
11
- actions:
12
- create_new: Add New Video
13
- reorder: Reorder Videos
14
- reorder_done: Done Reordering Videos
15
- records:
2
+ refinery:
3
+ plugins:
4
+ videos:
16
5
  title: Videos
17
- sorry_no_results: Sorry! There are no results found.
18
- no_items_yet: There are no Videos yet. Click "Add New Video" to add your first video.
19
- video:
20
- view_live_html: View this video live <br/><em>(opens in a new window)</em>
21
- edit: Edit this video
22
- delete: Remove this video forever
23
- videos:
24
- show:
25
- other: Other Videos
6
+ videos:
7
+ admin:
8
+ videos:
9
+ actions:
10
+ create_new: Add New Video
11
+ reorder: Reorder Videos
12
+ reorder_done: Done Reordering Videos
13
+ records:
14
+ title: Videos
15
+ sorry_no_results: Sorry! There are no results found.
16
+ no_items_yet: There are no Videos yet. Click "Add New Video" to add your first video.
17
+ video:
18
+ view_live_html: View this video live <br/><em>(opens in a new window)</em>
19
+ edit: Edit this video
20
+ delete: Remove this video forever
21
+ videos:
22
+ show:
23
+ other: Other Videos
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/videos/video':
27
+ name: Name
28
+ youtube_url: Youtube Url
29
+ body: Body
@@ -0,0 +1,30 @@
1
+ es:
2
+ refinery:
3
+ plugins:
4
+ videos:
5
+ title: Videos
6
+ # article: masculino/femenino
7
+ videos:
8
+ admin:
9
+ videos:
10
+ actions:
11
+ create_new: Crear nuevo video
12
+ reorder: Reordenar videos
13
+ reorder_done: Reordenación de videos completada
14
+ records:
15
+ title: Videos
16
+ sorry_no_results: Lo siento, no hay resultados
17
+ no_items_yet: No hay videos todavía. Pulsa en "Crear nuevo Video" para crear tu primer video.
18
+ video:
19
+ view_live_html: Ver este video como abierto al público <br/><em>(abre en ventana nueva)</em>
20
+ edit: Editar este video
21
+ delete: Borrar este video para siempre
22
+ videos:
23
+ show:
24
+ other: Otros videos
25
+ activerecord:
26
+ attributes:
27
+ 'refinery/videos/video':
28
+ name: Name
29
+ youtube_url: Youtube Url
30
+ body: Body
@@ -1,25 +1,29 @@
1
1
  fr:
2
- shared:
3
- admin:
4
- image_picker:
5
- image: image
6
- plugins:
7
- videos:
8
- title: Videos
9
- admin:
10
- videos:
11
- actions:
12
- create_new: Créer un(e) nouve(au/l/lle) Video
13
- reorder: Réordonner les Videos
14
- reorder_done: Fin de réordonnancement des Videos
15
- records:
2
+ refinery:
3
+ plugins:
4
+ videos:
16
5
  title: Videos
17
- sorry_no_results: "Désolé ! Aucun résultat."
18
- no_items_yet: 'Il n''y a actuellement aucun(e) Video. Cliquer sur "Créer un(e) nouve(au/l/lle) Video" pour créer votre premi(er/ère) video.'
19
- video:
20
- view_live_html: Voir ce(t/tte) video <br/><em>(Ouvre une nouvelle fenêtre)</em>
21
- edit: Modifier ce(t/tte) video
22
- delete: Supprimer définitivement ce(t/tte) video
23
- videos:
24
- show:
25
- other: Autres Videos
6
+ videos:
7
+ admin:
8
+ videos:
9
+ actions:
10
+ create_new: Créer un(e) nouve(au/l/lle) Video
11
+ reorder: Réordonner les Videos
12
+ reorder_done: Fin de réordonnancement des Videos
13
+ records:
14
+ title: Videos
15
+ sorry_no_results: "Désolé ! Aucun résultat."
16
+ no_items_yet: 'Il n''y a actuellement aucun(e) Video. Cliquer sur "Créer un(e) nouve(au/l/lle) Video" pour créer votre premi(er/ère) video.'
17
+ video:
18
+ view_live_html: Voir ce(t/tte) video <br/><em>(Ouvre une nouvelle fenêtre)</em>
19
+ edit: Modifier ce(t/tte) video
20
+ delete: Supprimer définitivement ce(t/tte) video
21
+ videos:
22
+ show:
23
+ other: Autres Videos
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/videos/video':
27
+ name: Name
28
+ youtube_url: Youtube Url
29
+ body: Body
@@ -1,21 +1,29 @@
1
1
  nb:
2
- plugins:
3
- videos:
4
- title: Videos
5
- admin:
6
- videos:
7
- actions:
8
- create_new: Lag en ny Video
9
- reorder: Endre rekkefølgen på Videos
10
- reorder_done: Ferdig å endre rekkefølgen Videos
11
- records:
2
+ refinery:
3
+ plugins:
4
+ videos:
12
5
  title: Videos
13
- sorry_no_results: Beklager! Vi fant ikke noen resultater.
14
- no_items_yet: Det er ingen Videos enda. Klikk på "Lag en ny Video" for å legge til din første video.
15
- video:
16
- view_live_html: Vis hvordan denne video ser ut offentlig <br/><em>(åpner i et nytt vindu)</em>
17
- edit: Rediger denne video
18
- delete: Fjern denne video permanent
19
- videos:
20
- show:
21
- other: Andre Videos
6
+ videos:
7
+ admin:
8
+ videos:
9
+ actions:
10
+ create_new: Lag en ny Video
11
+ reorder: Endre rekkefølgen Videos
12
+ reorder_done: Ferdig å endre rekkefølgen Videos
13
+ records:
14
+ title: Videos
15
+ sorry_no_results: Beklager! Vi fant ikke noen resultater.
16
+ no_items_yet: Det er ingen Videos enda. Klikk på "Lag en ny Video" for å legge til din første video.
17
+ video:
18
+ view_live_html: Vis hvordan denne video ser ut offentlig <br/><em>(åpner i et nytt vindu)</em>
19
+ edit: Rediger denne video
20
+ delete: Fjern denne video permanent
21
+ videos:
22
+ show:
23
+ other: Andre Videos
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/videos/video':
27
+ name: Name
28
+ youtube_url: Youtube Url
29
+ body: Body
@@ -1,21 +1,29 @@
1
1
  nl:
2
- plugins:
3
- videos:
4
- title: Videos
5
- admin:
6
- videos:
7
- actions:
8
- create_new: Maak een nieuwe Video
9
- reorder: Wijzig de volgorde van de Videos
10
- reorder_done: Klaar met het wijzingen van de volgorde van de Videos
11
- records:
2
+ refinery:
3
+ plugins:
4
+ videos:
12
5
  title: Videos
13
- sorry_no_results: Helaas! Er zijn geen resultaten gevonden.
14
- no_items_yet: Er zijn nog geen Videos. Druk op 'Maak een nieuwe Video' om de eerste aan te maken.
15
- video:
16
- view_live_html: Bekijk deze video op de website <br/><em>(opent een nieuw venster)</em>
17
- edit: Bewerk deze video
18
- delete: Verwijder deze video voor eeuwig
19
- videos:
20
- show:
21
- other: Andere Videos
6
+ videos:
7
+ admin:
8
+ videos:
9
+ actions:
10
+ create_new: Maak een nieuwe Video
11
+ reorder: Wijzig de volgorde van de Videos
12
+ reorder_done: Klaar met het wijzingen van de volgorde van de Videos
13
+ records:
14
+ title: Videos
15
+ sorry_no_results: Helaas! Er zijn geen resultaten gevonden.
16
+ no_items_yet: Er zijn nog geen Videos. Druk op 'Maak een nieuwe Video' om de eerste aan te maken.
17
+ video:
18
+ view_live_html: Bekijk deze video op de website <br/><em>(opent een nieuw venster)</em>
19
+ edit: Bewerk deze video
20
+ delete: Verwijder deze video voor eeuwig
21
+ videos:
22
+ show:
23
+ other: Andere Videos
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/videos/video':
27
+ name: Name
28
+ youtube_url: Youtube Url
29
+ body: Body
data/config/routes.rb CHANGED
@@ -1,11 +1,19 @@
1
- ::Refinery::Application.routes.draw do
2
- resources :videos, :only => [:index]
3
-
4
- scope(:path => 'refinery', :as => 'admin', :module => 'admin') do
5
- resources :videos, :except => :show do
6
- collection do
7
- post :update_positions
8
- end
9
- end
10
- end
11
- end
1
+ Refinery::Core::Engine.routes.append do
2
+
3
+ # Frontend routes
4
+ namespace :videos do
5
+ resources :videos, :path => '', :only => [:index, :show]
6
+ end
7
+
8
+ # Admin routes
9
+ namespace :videos, :path => '' do
10
+ namespace :admin, :path => 'refinery' do
11
+ resources :videos, :except => :show do
12
+ collection do
13
+ post :update_positions
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ end
@@ -0,0 +1,28 @@
1
+ class CreateVideosVideos < ActiveRecord::Migration
2
+
3
+ def up
4
+ create_table :refinery_videos do |t|
5
+ t.string :name
6
+ t.string :youtube_url
7
+ t.text :body
8
+ t.integer :position
9
+
10
+ t.timestamps
11
+ end
12
+
13
+ end
14
+
15
+ def down
16
+ if defined?(::Refinery::UserPlugin)
17
+ ::Refinery::UserPlugin.destroy_all({:name => "refinerycms-videos"})
18
+ end
19
+
20
+ #if defined?(::Refinery::Page)
21
+ # ::Refinery::Page.delete_all({:link_url => "/videos/videos"})
22
+ #end
23
+
24
+ drop_table :refinery_videos
25
+
26
+ end
27
+
28
+ end
data/db/seeds.rb ADDED
@@ -0,0 +1,21 @@
1
+ if defined?(::Refinery::User)
2
+ ::Refinery::User.all.each do |user|
3
+ if user.plugins.where(:name => 'refinerycms-videos').blank?
4
+ user.plugins.create(:name => 'refinerycms-videos',
5
+ :position => (user.plugins.maximum(:position) || -1) +1)
6
+ end
7
+ end
8
+ end
9
+
10
+ url = "/videos"
11
+ if defined?(::Refinery::Page) && ::Refinery::Page.where(:link_url => url).empty?
12
+ page = ::Refinery::Page.create(
13
+ :title => 'Videos',
14
+ :link_url => url,
15
+ :deletable => false,
16
+ :menu_match => "^#{url}(\/|\/.+?|)$"
17
+ )
18
+ Refinery::Pages.default_parts.each do |default_page_part|
19
+ page.parts.create(:title => default_page_part, :body => nil)
20
+ end
21
+ end
@@ -0,0 +1,18 @@
1
+ module Refinery
2
+ class VideosGenerator < Rails::Generators::Base
3
+
4
+ def rake_db
5
+ rake("refinery_videos:install:migrations")
6
+ end
7
+
8
+ def append_load_seed_data
9
+ create_file 'db/seeds.rb' unless File.exists?(File.join(destination_root, 'db', 'seeds.rb'))
10
+ append_file 'db/seeds.rb', :verbose => true do
11
+ <<-EOH
12
+
13
+ Refinery::Videos::Engine.load_seed
14
+ EOH
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,27 @@
1
+ module Refinery
2
+ module Videos
3
+ class Engine < Rails::Engine
4
+ include Refinery::Engine
5
+ isolate_namespace Refinery::Videos
6
+
7
+ engine_name :refinery_videos
8
+
9
+ initializer "register refinerycms_videos plugin" do
10
+ Refinery::Plugin.register do |plugin|
11
+ plugin.name = "videos"
12
+ plugin.url = proc { Refinery::Core::Engine.routes.url_helpers.videos_admin_videos_path }
13
+ plugin.pathname = root
14
+ plugin.activity = {
15
+ :class_name => :'refinery/videos/video',
16
+ :title => 'name'
17
+ }
18
+
19
+ end
20
+ end
21
+
22
+ config.after_initialize do
23
+ Refinery.register_extension(Refinery::Videos)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,21 @@
1
+ require 'refinerycms-core'
2
+
3
+ module Refinery
4
+ autoload :VideosGenerator, 'generators/refinery/videos_generator'
5
+
6
+ module Videos
7
+ require 'refinery/videos/engine'
8
+
9
+ class << self
10
+ attr_writer :root
11
+
12
+ def root
13
+ @root ||= Pathname.new(File.expand_path('../../../', __FILE__))
14
+ end
15
+
16
+ def factory_paths
17
+ @factory_paths ||= [ root.join('spec', 'factories').to_s ]
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,21 +1 @@
1
- require 'refinerycms-base'
2
-
3
- module Refinery
4
- module Videos
5
- class Engine < Rails::Engine
6
- initializer "static assets" do |app|
7
- app.middleware.insert_after ::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public"
8
- end
9
-
10
- config.after_initialize do
11
- Refinery::Plugin.register do |plugin|
12
- plugin.name = "videos"
13
- plugin.activity = {
14
- :class => Video,
15
- :title => 'name'
16
- }
17
- end
18
- end
19
- end
20
- end
21
- end
1
+ require 'refinery/videos'
@@ -1,13 +1,13 @@
1
1
  namespace :refinery do
2
-
2
+
3
3
  namespace :videos do
4
-
5
- # call this task my running: rake refinery:videos:my_task
4
+
5
+ # call this task by running: rake refinery:videos:my_task
6
6
  # desc "Description of my task below"
7
7
  # task :my_task => :environment do
8
8
  # # add your logic here
9
9
  # end
10
-
10
+
11
11
  end
12
-
12
+
13
13
  end
data/readme.md ADDED
@@ -0,0 +1,31 @@
1
+ # Refinery CMS Videos
2
+
3
+ Simple videos engine for [Refinery CMS](http://refinerycms.com).
4
+
5
+ This version of `refinerycms-videos` supports Rails 3.1.x and up.
6
+
7
+ ## Requirements
8
+
9
+ Refinery CMS version 2.0.x.
10
+
11
+ ## Install
12
+
13
+ Open up your ``Gemfile`` and add the following:
14
+
15
+ gem 'refinerycms-videos', '~> 2.0.0'
16
+
17
+ Now, run:
18
+
19
+ bundle install
20
+
21
+ Next, run:
22
+
23
+ rails generate refinery:videos
24
+
25
+ Migrate your database:
26
+
27
+ rake db:migrate
28
+
29
+ And hook up the seed data:
30
+
31
+ rake db:seed
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinerycms-videos
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: 2.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,38 +9,91 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-20 00:00:00.000000000Z
13
- dependencies: []
14
- description: Ruby on Rails Videos engine for Refinery CMS
15
- email:
12
+ date: 2012-03-14 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: refinerycms-core
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 2.0.1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 2.0.1
30
+ - !ruby/object:Gem::Dependency
31
+ name: refinerycms-testing
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 2.0.1
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 2.0.1
46
+ description: Ruby on Rails Videos extension for Refinery CMS
47
+ email: james.b.thompson@gmail.com
16
48
  executables: []
17
49
  extensions: []
18
50
  extra_rdoc_files: []
19
51
  files:
20
- - lib/generators/refinerycms_videos_generator.rb
21
- - lib/refinerycms-videos.rb
22
- - lib/tasks/videos.rake
52
+ - app/assets/images/colorbox/border.png
53
+ - app/assets/images/colorbox/controls.png
54
+ - app/assets/images/colorbox/ie6/borderBottomCenter.png
55
+ - app/assets/images/colorbox/ie6/borderBottomLeft.png
56
+ - app/assets/images/colorbox/ie6/borderBottomRight.png
57
+ - app/assets/images/colorbox/ie6/borderMiddleLeft.png
58
+ - app/assets/images/colorbox/ie6/borderMiddleRight.png
59
+ - app/assets/images/colorbox/ie6/borderTopCenter.png
60
+ - app/assets/images/colorbox/ie6/borderTopLeft.png
61
+ - app/assets/images/colorbox/ie6/borderTopRight.png
62
+ - app/assets/images/colorbox/loading.gif
63
+ - app/assets/images/colorbox/loading_background.png
64
+ - app/assets/images/colorbox/overlay.png
65
+ - app/assets/images/video_play.png
66
+ - app/assets/javascripts/jquery.colorbox-min.js
67
+ - app/assets/javascripts/jquery.refinerycms-videos.js
68
+ - app/assets/stylesheets/colorbox.css
69
+ - app/controllers/refinery/videos/admin/videos_controller.rb
70
+ - app/controllers/refinery/videos/videos_controller.rb
71
+ - app/models/refinery/videos/video.rb
72
+ - app/views/refinery/videos/admin/videos/edit.html.erb
73
+ - app/views/refinery/videos/admin/videos/index.html.erb
74
+ - app/views/refinery/videos/admin/videos/new.html.erb
75
+ - app/views/refinery/videos/admin/videos/_actions.html.erb
76
+ - app/views/refinery/videos/admin/videos/_form.html.erb
77
+ - app/views/refinery/videos/admin/videos/_records.html.erb
78
+ - app/views/refinery/videos/admin/videos/_sortable_list.html.erb
79
+ - app/views/refinery/videos/admin/videos/_video.html.erb
80
+ - app/views/refinery/videos/admin/videos/_videos.html.erb
81
+ - app/views/refinery/videos/videos/index.html.erb
23
82
  - config/locales/en.yml
83
+ - config/locales/es.yml
24
84
  - config/locales/fr.yml
25
- - config/locales/lolcat.yml
26
85
  - config/locales/nb.yml
27
86
  - config/locales/nl.yml
28
87
  - config/routes.rb
29
- - app/controllers/admin/videos_controller.rb
30
- - app/controllers/videos_controller.rb
31
- - app/models/video.rb
32
- - app/views/admin/videos/edit.html.erb
33
- - app/views/admin/videos/index.html.erb
34
- - app/views/admin/videos/new.html.erb
35
- - app/views/admin/videos/_actions.html.erb
36
- - app/views/admin/videos/_form.html.erb
37
- - app/views/admin/videos/_records.html.erb
38
- - app/views/admin/videos/_sortable_list.html.erb
39
- - app/views/admin/videos/_video.html.erb
40
- - app/views/admin/videos/_videos.html.erb
41
- - app/views/shared/_video.html.erb
42
- - app/views/videos/index.html.erb
43
- homepage:
88
+ - db/migrate/1_create_videos_videos.rb
89
+ - db/seeds.rb
90
+ - lib/generators/refinery/videos_generator.rb
91
+ - lib/refinery/videos/engine.rb
92
+ - lib/refinery/videos.rb
93
+ - lib/refinerycms-videos.rb
94
+ - lib/tasks/refinery/videos.rake
95
+ - readme.md
96
+ homepage: https://github.com/julesce/refinerycms-videos
44
97
  licenses: []
45
98
  post_install_message:
46
99
  rdoc_options: []
@@ -63,5 +116,5 @@ rubyforge_project:
63
116
  rubygems_version: 1.8.18
64
117
  signing_key:
65
118
  specification_version: 3
66
- summary: Videos engine for Refinery CMS
119
+ summary: Videos extension for Refinery CMS
67
120
  test_files: []
@@ -1,8 +0,0 @@
1
- module Admin
2
- class VideosController < Admin::BaseController
3
-
4
- crudify :video,
5
- :title_attribute => 'name', :xhr_paging => true
6
-
7
- end
8
- end
@@ -1,19 +0,0 @@
1
- class VideosController < ApplicationController
2
-
3
- before_filter :find_page
4
-
5
- def index
6
- @videos = Video.order('position ASC')
7
-
8
- # you can use meta fields from your model instead (e.g. browser_title)
9
- # by swapping @page for @video in the line below:
10
- present(@page)
11
- end
12
-
13
- protected
14
-
15
- def find_page
16
- @page = Page.where(:link_url => "/videos").first
17
- end
18
-
19
- end
data/app/models/video.rb DELETED
@@ -1,8 +0,0 @@
1
- class Video < ActiveRecord::Base
2
-
3
- acts_as_indexed :fields => [:name, :youtube_url, :body]
4
-
5
- validates :name, :presence => true
6
- validates :youtube_url, :presence => true
7
-
8
- end
@@ -1,28 +0,0 @@
1
- <ul>
2
- <% if Admin::VideosController.searchable? %>
3
- <li>
4
- <%= render :partial => "/shared/admin/search",
5
- :locals => {
6
- :url => admin_videos_path
7
- } %>
8
- </li>
9
- <% end %>
10
- <li>
11
- <%= link_to t('.create_new'), new_admin_video_path,
12
- :class => "add_icon" %>
13
- </li>
14
- <% if !searching? and Admin::VideosController.sortable? and Video.count > 1 %>
15
- <li>
16
- <%= link_to t('.reorder', :what => "Videos"),
17
- admin_videos_path,
18
- :id => "reorder_action",
19
- :class => "reorder_icon" %>
20
-
21
- <%= link_to t('.reorder_done', :what => "Videos"),
22
- admin_videos_path,
23
- :id => "reorder_action_done",
24
- :style => "display: none;",
25
- :class => "reorder_icon" %>
26
- </li>
27
- <% end %>
28
- </ul>
@@ -1,18 +0,0 @@
1
- <% if searching? %>
2
- <h2><%= t('results_for', :scope => 'shared.admin.search', :query => params[:search]) %></h2>
3
- <% end %>
4
- <% if @videos.any? %>
5
- <div class='pagination_container'>
6
- <%= render :partial => 'videos' %>
7
- </div>
8
- <% else %>
9
- <p>
10
- <% unless searching? %>
11
- <strong>
12
- <%= t('.no_items_yet') %>
13
- </strong>
14
- <% else %>
15
- <%= t('no_results', :scope => 'shared.admin.search') %>
16
- <% end %>
17
- </p>
18
- <% end %>
@@ -1,7 +0,0 @@
1
- <ul id='sortable_list'>
2
- <%= render :partial => 'video', :collection => @videos %>
3
- </ul>
4
- <%= render :partial => "/shared/admin/sortable_list",
5
- :locals => {
6
- :continue_reordering => (local_assigns.keys.include?(:continue_reordering)) ? continue_reordering : true
7
- } %>
@@ -1,15 +0,0 @@
1
- <li class='clearfix record <%= cycle("on", "on-hover") %>' id="<%= dom_id(video) -%>">
2
- <span class='title'>
3
- <%= video.name %>
4
- <span class="preview">&nbsp;</span>
5
- </span>
6
- <span class='actions'>
7
- <%= link_to refinery_icon_tag("application_edit.png"), edit_admin_video_path(video),
8
- :title => t('.edit') %>
9
- <%= link_to refinery_icon_tag("delete.png"), admin_video_path(video),
10
- :class => "cancel confirm-delete",
11
- :title => t('.delete'),
12
- :confirm => t('message', :scope => 'shared.admin.delete', :title => video.name),
13
- :method => :delete %>
14
- </span>
15
- </li>
@@ -1,2 +0,0 @@
1
- <%= will_paginate @videos %>
2
- <%= render :partial => "sortable_list" %>
@@ -1 +0,0 @@
1
- <%= render :partial => "form" %>
@@ -1,10 +0,0 @@
1
- <section id='records'>
2
- <%= render :partial => 'records' %>
3
- </section>
4
- <aside id='actions'>
5
- <%= render :partial => 'actions' %>
6
- </aside>
7
- <%= render :partial => '/shared/admin/make_sortable',
8
- :locals => {
9
- :tree => false
10
- } if !searching? and Admin::VideosController.sortable? and Video.count > 1 %>
@@ -1 +0,0 @@
1
- <%= render :partial => "form" %>
@@ -1,5 +0,0 @@
1
- <div class="tilevideo" targeturl="<%= video.youtube_url %>">
2
- <h1><%= video.name %></h1>
3
- <%= link_to('', video.youtube_url, :class => "ytlink") %>
4
- <%= raw(video.body) %>
5
- </div>
@@ -1,15 +0,0 @@
1
- <% content_for :body_content_title do -%>
2
- Videos
3
- <% end -%>
4
-
5
- <% content_for :body_content_left do %>
6
- <ul class="videos">
7
- <% @videos.each do |video| %>
8
- <li>
9
- <%= render :partial => 'shared/video', :locals => {:video => video} %>
10
- </li>
11
- <% end %>
12
- </ul>
13
- <% end %>
14
-
15
- <%= render :partial => "/shared/content_page" %>
@@ -1,25 +0,0 @@
1
- lolcat:
2
- shared:
3
- admin:
4
- image_picker:
5
- image: IMAGE
6
- plugins:
7
- videos:
8
- title: Videos
9
- admin:
10
- videos:
11
- actions:
12
- create_new: CREATE NEW Video
13
- reorder: REORDR Videos
14
- reorder_done: DUN REORDERIN Videos
15
- records:
16
- title: Videos
17
- sorry_no_results: SRY! THAR R NO RESULTS FINDZ.
18
- no_items_yet: THAR R NO Videos YET. CLICK "CREATE NEW Video" 2 ADD UR FURST video.
19
- video:
20
- view_live_html: VIEW DIS video LIV <BR/><EM>(OPENS IN NEW WINDOW)</EM>
21
- edit: EDIT DIS video
22
- delete: REMOOV DIS video FOREVR
23
- videos:
24
- show:
25
- other: OTHR Videos
@@ -1,6 +0,0 @@
1
- class RefinerycmsVideos < Refinery::Generators::EngineInstaller
2
-
3
- source_root File.expand_path('../../../', __FILE__)
4
- engine_name "videos"
5
-
6
- end