From 44a346ffe9c2e76ab9e0deade3d0923d2ca44e6a Mon Sep 17 00:00:00 2001 From: Christophe Vilayphiou Date: Sun, 19 Feb 2012 16:33:22 +0800 Subject: [PATCH] Changes for orbit bar, login --- app/assets/images/background.jpg | Bin 0 -> 45492 bytes app/assets/images/orbit-bar.png | Bin 2778 -> 3036 bytes app/assets/images/sign-in-logo.png | Bin 0 -> 11789 bytes app/assets/images/sign-in-logo2.png | Bin 0 -> 8620 bytes app/assets/javascripts/devise.js.erb | 7 + app/assets/javascripts/orbit-1.0.js | 50 +- app/assets/javascripts/orbit_bar.js | 7 +- app/assets/stylesheets/bootstrap-orbit.css | 11 +- app/assets/stylesheets/bootstrap.css.erb | 6 +- app/assets/stylesheets/devise.css | 10 - app/assets/stylesheets/devise.css.erb | 6 + app/assets/stylesheets/list.css | 52 +- app/assets/stylesheets/reset.css | 15 - app/assets/stylesheets/reset.css.erb | 37 +- app/assets/stylesheets/rss.js | 513 ------------------ app/assets/stylesheets/style.css.erb | 371 +++++++++++-- app/assets/stylesheets/widget.css | 18 +- app/controllers/application_controller.rb | 10 +- app/views/devise/confirmations/new.html.erb | 12 + .../mailer/confirmation_instructions.html.erb | 5 + .../reset_password_instructions.html.erb | 8 + .../mailer/unlock_instructions.html.erb | 7 + app/views/devise/passwords/edit.html.erb | 16 + app/views/devise/passwords/new.html.erb | 21 + app/views/devise/registrations/edit.html.erb | 25 + app/views/devise/registrations/new.html.erb | 18 + app/views/devise/sessions/new.html.erb | 34 ++ app/views/devise/shared/_links.erb | 25 + app/views/devise/unlocks/new.html.erb | 12 + app/views/layouts/_orbit_bar.html.erb | 46 +- app/views/layouts/devise.html.erb | 20 + config/locales/en.yml | 4 + config/locales/zh_tw.yml | 1 + lib/parsers/parser_front_end.rb | 5 + 34 files changed, 724 insertions(+), 648 deletions(-) create mode 100644 app/assets/images/background.jpg create mode 100644 app/assets/images/sign-in-logo.png create mode 100644 app/assets/images/sign-in-logo2.png create mode 100644 app/assets/javascripts/devise.js.erb delete mode 100644 app/assets/stylesheets/devise.css create mode 100644 app/assets/stylesheets/devise.css.erb delete mode 100644 app/assets/stylesheets/reset.css delete mode 100644 app/assets/stylesheets/rss.js create mode 100644 app/views/devise/confirmations/new.html.erb create mode 100644 app/views/devise/mailer/confirmation_instructions.html.erb create mode 100644 app/views/devise/mailer/reset_password_instructions.html.erb create mode 100644 app/views/devise/mailer/unlock_instructions.html.erb create mode 100644 app/views/devise/passwords/edit.html.erb create mode 100644 app/views/devise/passwords/new.html.erb create mode 100644 app/views/devise/registrations/edit.html.erb create mode 100644 app/views/devise/registrations/new.html.erb create mode 100644 app/views/devise/sessions/new.html.erb create mode 100644 app/views/devise/shared/_links.erb create mode 100644 app/views/devise/unlocks/new.html.erb create mode 100644 app/views/layouts/devise.html.erb diff --git a/app/assets/images/background.jpg b/app/assets/images/background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..380ede2907dffabf01b33cae3a15e88922d4e8ee GIT binary patch literal 45492 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

-F&jQbsGpvA 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/orbit-bar.png b/app/assets/images/orbit-bar.png index d8e36223c786b4825bf999e394ce3998e4878f63..5509c2e9c9d243126e85b55caee1ec154b78d137 100644 GIT binary patch delta 2222 zcmbV}X;71g7KSA#B8Z4uH?}a^u@#~O2}uYDVJV2XK*Daq?gFv}5J?Chir%&YH>oIP z5wJi=zd&#yKv@!csR%+K0){;x`&JTJLx7Om>GXCwL+{L;`}{gT-g)M{=k$Lzc;uxw z1Zs-5F)>5hp%5q(77n+E+aQoww5^Gmt&JVl_A6uKbTUNeKOy9Q4OK$?^x>v9Hufk} zI0}nE*~8&*tf{TNJ<8Yyg~p!4!tK%#$^f9aajet4hZbK1@`G9!jMB&q|<&Zk7k19W0L!LSb^$DqQ2wVHH^MHu-G3wAM z!%3>}3bP+KV>JXHefkr9_PgvE49=21O99PjBW)JifMIK`L4FF-RPwMI35hX+ERAJA z(4}by574u;&TRZb)U4E{ZyMaKTpPD;zv4t-Tb=-j-!_d6JDkSG2c|}hTQVZYCpR!p zVIOik+WJ4E1m}Gtn`V=P5o~2{JASmngIum67)3Kr#rXAb9D+d8ZqIk&t)Hja`pQ(LB8F0|UJunksOd^YoWJ7Xgb7OIG)%bH z2dz}OR6sAm>~d=kUq1wEUO*gAwm8OWun2PYZO+gy5ze2PSa7J0)$=>B_HYDw9ffT-$Q%&i(i*fUXhuy{%#OGz3lqz z#EPr>DINiqJDzd&_@^$oM1?S~{gXfB&dT|WS;ydh;L&7B_J?=1kxNHP+dn+3>8vAl zW37k6(fi#1S!mAG=(Mckz6<)AQT{H=fylkHcF&UIZh#p9$!nK)hJ0dwEh##OT~z8$ zjw%>!M}?izkJ%!y>QhHG)l`>18dgEKk@P1&o2xnUIKWnhXuxIak&h%)BR{@ytpU&T z=Z7{jCBeDCMC%8jdTm*k>L;pzI)pU1yy2X1N6&G0RbMmptwZ}7kEFO`=Fm_XFYZ#+ zYKzCzR-Le&EDnHa$c~n#B-I&@2fjQ5Azg27@+0g#={ve$*S37{A*RN}zn`ZO!xJu1 z7b18%K~l4uvZ;iW@r0M}*|e;qVe^eGQug`$5Wrz`i~K4D2cUN%%$q(FB~?W52O!L`+bdu%MFI>{c(6vUmdbwkqYQ8 z%60Ni>kw|VC_~=I6)^WVr+{~y~QYi`$Vm;KQc^_QAS hN!yCz#0tpX9U1W+2yFAW$~%7Jg8gN?G8@19{|3i>8R`H4 delta 1934 zcma)+c~H}58pkn|g_SPS(g+BJKv4t=5+Fz@Mi5XrYN`SjltYkEgpiV`5D58+Te+en z3Z;*fKRFI4R27^&$ca=xM3iYZXyuvfJ!ibedRUd?}kgqsNQICYndNKeC;3T|=y> zET)R!eMLhAWq(G`QwRCs{1;dd0pI+@pv94~Lotx*a-LMIrg+YDV`iY z{ZGToV9{;c;{LtMg$TLRz)Dp&9{6zn`NS#5?FKFJO-p|v&)BY37~QF9XmF%JPH%S( ztC^0as#`B>t(faXMXN5+hts-ZU)flz|3wdNC49q2noy%)#Nf{?`33{H$HxZpsLM0QzeQsl!|?Vv5_1Q z$YnpsSF=d-9!XppQ)mxg<8}xc~%#97C>Ru%IXoPWxKR`WHK&CFS1DOVydE6 zV&O`-Q{Xixbvu?=Mc$~qz5PV-U9kfbM(~elnzM9?*x@w%J2JB6tR;nbOC<;q6td2} z%ugF#b6Aka>mf_fe}A-gx{*_V?54;Nl=!4bRx@O$%pO(~tW_;xR@nY39PNnszB zLFE=jCUfUvGQz=XI9IH=<36BwEqjoUTgh(_D9-97N7>AcGhCw^VEK<_mLhdGhqL#6AW4m?8c0vaCaMg{?Xfs<#p&DTAB?cmY_gWB9FD+gr(P7 zM-7!O_Y9DQBle;RuMvCNrx0_bl)`?B7$XFm@Od z-v%9q6^qXsoN2@h5FK<`|Nb4y;3m8swJo!6FCM0=xXQ{}wTMsv=g5nG?4u9F(SK?V zJ1+8?@(!{FZ|3b;_kh$Rn1fDVEL!;k7 zS>X#aPd}03o=N>Q{(`xt9~P!Mm%EbhNwLqBcPLvp5iY^&Hj+I(6PxJ?Nn|Qo6YC+E zXY~GcnQbIb$pZA*`U%}9VbNwCyJB5s8Oy3)WU{CDRL%EO!pEtl0*Ca}-?TNOxP2Ou z>K1Q0@o`%kSKL=e;cQArHjJ2To5M_uo&_c`FM?K$pekl86GCFH+9SKsQaAlW4F@gA zdgd>PV>|n~OWCzCDYI8`bSMs=l9g8_(N>LbYPJF;KHHUDBUt+C_01Ed-m;J7h259v z7Hj?L{RW~~XZ@q)!zf;ME{p*Z$bCV-? zk3Mgg5?EtulH!32>ZWg;!G63UWJ~Tv-`A_v;DZk!kS(w7n+W(X4DwoiQ+pp78@y+| zhhA;;cdU02VEpFq{vG-Mpto!N@$fyQ^HzmFioc6Ia&_Jw$gBChMt@7${3uT6e*BF` UgwA|hotGyl@JK-8fw)Wm0(|p(Jpcdz diff --git a/app/assets/images/sign-in-logo.png b/app/assets/images/sign-in-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..53756c7c332f57f2375f755788d9d224b9fa2987 GIT binary patch literal 11789 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/sign-in-logo2.png b/app/assets/images/sign-in-logo2.png new file mode 100644 index 0000000000000000000000000000000000000000..45505f24025fc3628bfdab617c362a47a3aa6848 GIT binary patch literal 8620 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 JRHa}Y`d=;U(FXtk literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/devise.js.erb b/app/assets/javascripts/devise.js.erb new file mode 100644 index 00000000..c6412f9a --- /dev/null +++ b/app/assets/javascripts/devise.js.erb @@ -0,0 +1,7 @@ +// This is a manifest file that'll be compiled into including all the files listed below. +// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically +// be included in the compiled file accessible from http://example.com/assets/application.js +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// the compiled file. +// +//= require new_admin \ No newline at end of file diff --git a/app/assets/javascripts/orbit-1.0.js b/app/assets/javascripts/orbit-1.0.js index c7eb13b6..e7077dcc 100644 --- a/app/assets/javascripts/orbit-1.0.js +++ b/app/assets/javascripts/orbit-1.0.js @@ -1,6 +1,6 @@ -var viewportwidth; -var viewportheight; -function resize(){ +var viewportwidth, + viewportheight; +function resize() { viewportheight=$(window).height(); viewportwidth=$(window).width(); if(window.navigator.userAgent.indexOf("MSIE")>0){ @@ -9,32 +9,47 @@ function resize(){ } } $(document).ready(function(){ + $('.orbit-bar-member').live('click', function(){ + $(this).hasClass('open') ? $(this).removeClass('open') : $(this).addClass('open'); + $('.bar-login .dropdown-menu').toggle(); + return false; + }); + + $(document).click(function() { + $('.orbit-bar-member').removeClass("open"); + $('.bar-login .dropdown-menu').hide(); + }); + + $('.dropdown-menu').live('click', function(e) { + e.stopPropagation(); + $('.bar-login .dropdown-menu').show(); + }); $('.tip').tooltip({ placement: "left" }); - $(function() { - var $role = $('.select-role'); - $('.privacy').each(function($i) { - $(this).click(function() { - switch ($i) { - case 0: - $role.slideUp(300); - break; - case 1: - $role.slideDown(300); - break; - } - }); + var $role = $('.select-role'); + $('.privacy').each(function($i) { + $(this).click(function() { + switch ($i) { + case 0: + $role.slideUp(300); + break; + case 1: + $role.slideDown(300); + break; + } }); }); + /*tinyscrollbar&windows-Size*/ resize(); $('#main-sidebar').css("height", viewportheight-40); //$('#content-wrap .viewport').css("height", viewportheight-44); //$('#content-wrap').css("width", viewportwidth-186); $('#main-sidebar .viewport').css("height", viewportheight-40); + $('.post-title').css("width", viewportwidth-495); $('#main-sidebar').tinyscrollbar(); $('#main-sidebar').tinyscrollbar({ size:(viewportheight-44)}); @@ -44,5 +59,6 @@ $(window).resize(function(){ resize(); $('#main-sidebar').css("height", viewportheight-40); $('#main-sidebar .viewport').css("height", viewportheight-40); + $('.post-title').css("width", viewportwidth-495); $('#main-sidebar').tinyscrollbar({ size:(viewportheight-44)}); -}); \ No newline at end of file +}); diff --git a/app/assets/javascripts/orbit_bar.js b/app/assets/javascripts/orbit_bar.js index 3c0c6cb3..06c3113d 100644 --- a/app/assets/javascripts/orbit_bar.js +++ b/app/assets/javascripts/orbit_bar.js @@ -1,4 +1,7 @@ $(document).ready(function() { - $('body').prepend("

"); - ajax_load_proc($('#orbit_bar'), '/load_orbit_bar'); + $('body').prepend("
"); + $("#orbit_bar_temp").load('/load_orbit_bar',function(){ + $('body').prepend($(this).html()); + $(this).remove(); + }); }); \ No newline at end of file diff --git a/app/assets/stylesheets/bootstrap-orbit.css b/app/assets/stylesheets/bootstrap-orbit.css index fa08eb24..88bca1b3 100644 --- a/app/assets/stylesheets/bootstrap-orbit.css +++ b/app/assets/stylesheets/bootstrap-orbit.css @@ -16,8 +16,8 @@ h1, h2, h3, h4, h5, h6 { box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5) inset; padding:9px; } -hr { - margin: 5px 0; +.qe-block hr { + margin: 5px 10px 5px 0; } .label-tags { background-color: #FF5B00; @@ -31,10 +31,6 @@ hr { .dropdown-menu { min-width: 90px; } -.form-horizontal .form-actions { - text-align:right; -} - .subhead { padding-bottom: 0; margin-bottom: 9px; @@ -105,4 +101,7 @@ table .span1-2 { width: 94px; float: none; margin-left: 0; +} +.qe-block .form-horizontal .form-actions { + text-align:right; } \ No newline at end of file diff --git a/app/assets/stylesheets/bootstrap.css.erb b/app/assets/stylesheets/bootstrap.css.erb index 54201520..93b1e45b 100644 --- a/app/assets/stylesheets/bootstrap.css.erb +++ b/app/assets/stylesheets/bootstrap.css.erb @@ -96,7 +96,7 @@ textarea { } body { margin: 0; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: /*"Helvetica Neue", */Helvetica, Arial, sans-serif; font-size: 13px; line-height: 18px; color: #333333; @@ -1119,7 +1119,7 @@ table .span12 { width: 14px; height: 14px; vertical-align: text-top; - background-image: url(<%= asset_path "glyphicons-halflings.png" %>); + background-image: url(<%= asset_path 'glyphicons-halflings.png' %>); background-position: 14px 14px; background-repeat: no-repeat; *margin-right: .3em; @@ -1128,7 +1128,7 @@ table .span12 { *margin-left: 0; } .icon-white { - background-image: url(<%= asset_path "glyphicons-halflings-white.png" %>); + background-image: url(<%= asset_path 'glyphicons-halflings-white.png' %>); } .icon-glass { background-position: 0 0; diff --git a/app/assets/stylesheets/devise.css b/app/assets/stylesheets/devise.css deleted file mode 100644 index 416fd8dd..00000000 --- a/app/assets/stylesheets/devise.css +++ /dev/null @@ -1,10 +0,0 @@ -ul.hmenu { - list-style: none; - margin: 0 0 2em; - padding: 0; - text-align: right; -} - -ul.hmenu li { - display: inline; -} \ No newline at end of file diff --git a/app/assets/stylesheets/devise.css.erb b/app/assets/stylesheets/devise.css.erb new file mode 100644 index 00000000..e9bad0ed --- /dev/null +++ b/app/assets/stylesheets/devise.css.erb @@ -0,0 +1,6 @@ +/* + *This is a manifest file that'll automatically include all the stylesheets available in this directory + *and any sub-directories. You're free to add application-wide styles to this file and they'll appear at + *the top of the compiled file, but it's generally better to create a new file per style scope. + *= require new_admin +*/ \ No newline at end of file diff --git a/app/assets/stylesheets/list.css b/app/assets/stylesheets/list.css index 19b82081..66e0bfb3 100644 --- a/app/assets/stylesheets/list.css +++ b/app/assets/stylesheets/list.css @@ -11,6 +11,10 @@ } .main-list thead th { background-color: rgba(0,0,0,0.05); + border-right: 1px solid #ddd; +} +.main-list thead th:last-child { + border-right: none; } .main-list .span1 { min-width: 32px; @@ -28,9 +32,9 @@ height:40px; } .main-list tbody .quick-edit .nav { - left: -55px; + /*left: -55px;*/ position: absolute; - top: -3px; + /*top: -3px;*/ width: 350px; } .main-list td { @@ -43,8 +47,52 @@ .main-list tr:hover .hide { display:block !important; } +.main-list .label-group { + position: relative; + height: 40px; +} +.main-list .label-td { + background-color: rgba(255, 255, 255, 1); + height: 60px; + overflow: hidden; + position: absolute; + width: 100%; + left: 0; + z-index: 1; +} +.main-list .label-td:hover { + height: auto; + text-align: center; + padding: 5px 5px 8px; + left: -6px; + top: -6px; + border: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: 0px 5px 10px rgba(0,0,0,0.2); + -moz-box-shadow: 0px 5px 10px rgba(0,0,0,0.2); + -webkit-box-shadow: 0px 5px 10px rgba(0,0,0,0.2); + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + z-index: 5; +} +.route-group .route { + padding: 0; +} +.route-group .route .breadcrumb { + border-width: 0!important; +} .qe-block td { height:auto; + padding: 0; +} +.qe-block .table td, .qe-block .table th { + padding: 8px; +} +.qe-block .form-horizontal { + margin-bottom: 0; +} +.qe-block .form-actions { + margin-bottom: 0; } legend { font-size: 15px; diff --git a/app/assets/stylesheets/reset.css b/app/assets/stylesheets/reset.css deleted file mode 100644 index 5a193676..00000000 --- a/app/assets/stylesheets/reset.css +++ /dev/null @@ -1,15 +0,0 @@ -html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { - -webkit-text-size-adjust:none; -} -/*自定*/ -input:focus, select:focus, textarea:focus { - outline:none; - -moz-outline-radius: 0; -} -.clear:after { - content:"."; - clear:both; - display:block; - height:0; - visibility:hidden; -} \ No newline at end of file diff --git a/app/assets/stylesheets/reset.css.erb b/app/assets/stylesheets/reset.css.erb index 44f2ae77..0d91f32a 100644 --- a/app/assets/stylesheets/reset.css.erb +++ b/app/assets/stylesheets/reset.css.erb @@ -1,34 +1,9 @@ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; + -webkit-text-size-adjust:none; } -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { - display: block; -} -a { - text-decoration:none; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; +html, body{ + background: url(<%= asset_path 'background.jpg' %>) repeat left top; + height: 100%; } /*自定*/ input:focus, select:focus, textarea:focus { @@ -42,3 +17,7 @@ input:focus, select:focus, textarea:focus { height:0; visibility:hidden; } +a:link, a:hover, a:visited, a:active { + outline: none; /* for Firefox */ + hlbr:expression(this.onFocus=this.blur()); /* for IE */ +} \ No newline at end of file diff --git a/app/assets/stylesheets/rss.js b/app/assets/stylesheets/rss.js deleted file mode 100644 index 36309900..00000000 --- a/app/assets/stylesheets/rss.js +++ /dev/null @@ -1,513 +0,0 @@ -//Created by Harry Bomrah on Sep 21 2011 -$rss = jQuery.noConflict(); -var rcom={ -//Pass dom and will return binded dom with starting year till current -insertDatePanel : function(dom,year){ - if(!year)year=1901; - if(dom=="")return false; - domid=dom.attr("id"); - var dt = new Date(); - current_year=dt.getFullYear(); - var dthtml="Year: Date: Month: "; - dom.html(dthtml); -}, - -//loading overlay around a dom... -loadingWrapper : function(dom, display){ - if(display){ - dom.prepend("
"); - $rss("#loading_wrapper").height(dom.height()); - $rss("#loading_wrapper").width(dom.width()); - }else{ - domId=dom.attr("id"); - $rss("#"+domId+" #loading_wrapper").remove(); - } - }, - -//validating a dom.... -validate : function(dom, validation, errormsg){ - var domValue = dom.val(); - var error = false; - var regex=""; - var msg = ""; - switch(validation){ - case "required": - if(domValue=="")error=true; - msg="Cannot be empty."; - break; - case "email": - regex=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; - msg="Invalid Email Address."; - break; - case "number": - regex=/^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/; - msg = "Only numbers are accepted."; - break; - case "alphanumeric": - regex=/^\s*[a-zA-Z0-9,\s]+\s*$/; - msg="Only numbers, alphabets and spaces are allowed."; - break; - } - domId=dom.attr("name"); - if(errormsg=="")errormsg=msg; - if(regex!="")if(!regex.test(domValue))error=true; - if(error){$rss("#"+domId+"_error").remove();dom.after(""+errormsg+"");return false;} else{ $rss("#"+domId+"_error").remove();return true;} - }, - -bindToSpinner : function(dom,data,callbackFn){ - var domId = dom.attr("id"); - var dhtml=""; - var spinnerValue=Array(); - var spinnerDisplay=Array(); - $rss.each(data,function(i,it){ - $rss.each(data[i],function(key,it){ - spinnerValue.push(it); - }); - }); - dhtml=""; - dom.html(dhtml); - if(typeof callbackFn=="function") - callbackFn.call(this, dhtml); - }, - - //binds the recieved json to a table -bindToTable : function(dom,data,headers,actions,css_class,callbackFn){ - if(!css_class)css_class=""; - var dhtml=""; - var domId = dom.attr("id"); - if(actions){ - var btnTitles=Array(); - var btnFunctions=Array(); - $rss.each(actions,function(title,func){ - btnTitles.push(title); - btnFunctions.push(func); - }); - rcom.translate(btnTitles,function(convertedData){ - btnTitles=convertedData.slice(); - - rcom.translate(headers,function(convertedData){ - headers=convertedData; - if(!data)return; - $rss.each(headers,function(i,head){ - dhtml+=""; - }); - dhtml+=""; - if(data.length==0)dhtml+=""; - $rss.each(data,function(i,item){ - var cl=""; - if(i%2!=0)cl="even"; - dhtml+=""; - $rss.each(item,function(i,it){ - if(i!="id"){ - if(it==null)it="Not Set"; - dhtml+=""; - } - }) - dhtml+=""; - dhtml+=""; - }); - dhtml+="
"+head+"
No Data
"+it+""; - for(x=0;x"+btnTitles[x]+""; - } - dhtml+="
"; - dom.html(dhtml); - }); - }); - }else{ - rcom.translate(headers,function(convertedData){ - headers=convertedData; - if(!data)return; - if(headers.length>0){ - $rss.each(headers,function(i,head){ - dhtml+=""+head+""; - }); - } - dhtml+=""; - if(data.length==0)dhtml+="No Data"; - - $rss.each(data,function(i,item){ - var cl=""; - if(i%2!=0)cl="even"; - dhtml+=""; - $rss.each(item,function(i,it){ - if(i!="id"){ - if(it==null)it="Not Set"; - dhtml+=""+it+""; - } - }) - dhtml+=""; - }); - dhtml+=""; - dom.html(dhtml); - }); - } - - if(typeof callbackFn=="function") - callbackFn.call(this, dhtml); -}, - //convert to date string which can be directly inserted in database or according to any format. -convertToInsertableDate : function(y,m,d,format){ - var dt=""; - if(m<10)m="0"+m; - if(d<10)d="0"+d; - switch(format){ - case "yyyy-mm-dd": - dt= y+"-"+m+"-"+d; - break; - case "dd-mm-yyyy": - dt= d+"-"+m+"-"+y; - break; - case "mm-dd-yyyy": - dt= m+"-"+d+"-"+y; - break; - default: - dt= y+"-"+m+"-"+d; - break; - } - return dt; - }, -//a fucntion to show specific divs and hide all other -showDoms : function(doms){ - $rss("body").find("div").each(function(){$rss(this).hide();}); - $rss.each(doms,function(i,dom){ - dom.show(); - }); - }, - -//a function to translate the word or array.. -translate : function(data,callbackFn){ - var cdata=""; - var status =true; - if(!data){ - if(typeof callbackFn=="function") - callbackFn.call(this,cdata); - status=false; - } - if(data==""){ - if(typeof callbackFn=="function") - callbackFn.call(this,cdata); - status=false; - } - if(status){ - $rss.getJSON("../../classes/translate.php", {fn:"translateThis",tData:data},function(convertedData){ - if(typeof callbackFn=="function") - callbackFn.call(this, convertedData); - }); - } - }, - -// a function to bind JSON to list -bindToList : function(dom,data,callbackFn){ - var domId = dom.attr("id"); - var dhtml=""; - var listValue=Array(); - var listDisplay=Array(); - $rss.each(data,function(i,it){ - $rss.each(data[i],function(key,it){ - listValue.push(it); - }); - }); - dhtml="
    "; - for(i=0,y=1,z=0;i"+listValue[y]+""; - } - dhtml+="
"; - dom.html(dhtml); - if(typeof callbackFn=="function") - callbackFn.call(this,dhtml); - }, -makeDraggable : function(handler,dom){ - handler.css("position","absolute"); - dom.css("position","absolute"); - var puranix=0; - var nayeex=0; - var puraniy=0; - var nayeey=0; - var offset=""; - var zIndex=dom.css("z-index"); - handler.mousedown(function(e){ - puranix=e.clientX; - puraniy=e.clientY; - offset=dom.offset(); - $rss(this).mousemove(function(e){ - nayeex=e.clientX-puranix; - nayeex+=offset.left; - nayeey=e.clientY-puraniy; - nayeey+=offset.top; - dom.css({"left":nayeex+"px","top":nayeey+"px","z-index":"9999"}); - }) - }).mouseup(function(){ - $rss(this).unbind("mousemove"); - dom.css("z-index",zIndex); - }) - }, - -//automatically scrolls to the bottom of the div -scrollToBottom : function(dom){ - var domId = dom.attr("id"); -// var domScrollHeight = document.getElementById(domId).scrollHeight; - var obj = document.getElementById(domId); - - if((obj.scrollTop+100) >= (obj.scrollHeight - obj.offsetHeight)) - dom.scrollTop(obj.scrollHeight); - }, - -/*ajax loading of images... needs following settings -dom:in which images ve to be loaded -url:the server url for making ajax calls -limit:how many images to load -divClass:the class of div surrounding each image -nameClass:class for span showing name -fn:function to be called in on the server -imageSrc:the image source of all the images. -bindTo:to bind images to a onclick function or else will be binded to normal a tag. -urlKey:to specify the key of the value.. if bindTo is used, this will be neglected.. -returns json; -*/ -loadImages : function(settings,callbackFn){ - - var dom = settings.dom; - var domid= dom.attr("id"); - var temp_array=Array(); - var starting = $rss("#"+domid+" img:last").attr("id"); - if(typeof starting != 'undefined'){ - starting = starting.substr(4,starting.length-1); - }else{starting = 0}; - var temp_var=""; - var json = ""; - var dhtml=""; - var extraparam=""; - if(typeof settings.extraParam != "undefined"){ - extraparam = settings.extraParam; - } - $rss.getJSON(settings.url,{fn:settings.fn,id:settings.whereId,limit:settings.limit,start:starting,extra:extraparam},function(images){ - json = eval(images); - $rss.each(images,function(i,pic){ - var temp_array=Array(); - var a_var=Array(); - var name_var=""; - var title=""; - $rss.each(pic,function(i,value){ - temp_array.push(value); - }) - if(temp_array.length>=4){ - name_var=""+temp_array[3]+"
" - } - if(temp_array[2]==null) - title = ""; - else - title = temp_array[2]; - if(typeof settings.bindTo!="undefined"){ - a_var[1]="onclick='"+settings.bindTo+"("+temp_array[0]+");return false;'"; - a_var[0]=""; - }else{a_var[0]='?'+settings.urlKey+'='+temp_array[0];a_var[1]="";} - dhtml="
"+name_var; - dom.delay(100).append(dhtml); - $rss("#pic_"+pic.id).delay(100).fadeIn(200); - - }) - if(typeof callbackFn=="function") - callbackFn.call(this,json); - }) - - - }, - -//function to get url variables... -getUrlVars : function(){ - var vars = [], hash; - var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); - for(var i = 0; i < hashes.length; i++){ - hash = hashes[i].split('='); - vars.push(hash[0]); - vars[hash[0]] = hash[1]; - } - return vars; -}, -/*function to open a modalwindow on a page.. self reliant no images, no css needed. -settings - -width:in percentage or pixcel -height:in percentage or pixcel -closeBtn:true or false -envClose:closing through background click, true or flase -loadDiv:load html from a div -loadPage:load a page -loadHtml: load html - -*/ -modalWindow : function(settings,callbackFn){ - - var envClose = settings.envClose; - var dhtml=""; - if(typeof envClose == "undefined") - envClose = true; - var closeBtn = settings.closeBtn; - if(typeof closeBtn == "undefined") - closeBtn = true; - - var rgmaskHeight = $rss(window).height(); - var rgmaskWidth = $rss(window).width(); - var tempheight = settings.height; - var tempwidth = settings.width; - - if(typeof tempheight!="undefined"){ - if(tempheight.charAt(tempheight.length-1)=='%') - tempheight=(rgmaskHeight*parseInt(tempheight.substr(0,tempheight.length)))/100; - }else{tempheight="auto";} - - if(typeof tempwidth!="undefined"){ - if(tempwidth.charAt(tempwidth.length-1)=='%') - tempwidth=(rgmaskWidth*parseInt(tempwidth.substr(0,tempwidth.length)))/100; - }else{tempwidth="auto";} - - $rss("body").append('
'); - $rss("#rgsheath").css({background: "#000", width: "100%", position: "fixed", top: 0, left: 0,opacity:0.9,'z-index':199}); - $rss("body").append('
'); - $rss("#rgWindow").css({"position": "fixed", "z-index": "999", "background": "#fff", "border": "solid 3px #ccc", "padding": "20px", "overflow": "hidden", "border-radius": "12px", "-webkit-border-radius": "12px", "-moz-border-radius": "12px", "-ms-border-radius": "12px", "box-shadow": "0 0 20px rgba(0,0,0,0.9)","-webkit-box-shadow": "0 0 20px rgba(0,0,0,0.9)","-moz-box-shadow": "0 0 20px rgba(0,0,0,0.9)","-ms-box-shadow": "0 0 20px rgba(0,0,0,0.9)"}); - var rgWTop = (rgmaskHeight-20)/2; - var rgWLeft = (rgmaskWidth-20)/2; - $rss("#rgWindow").css({top:rgWTop+"px", left:rgWLeft+"px"}); - if(typeof settings.loadDiv!="undefined"){ - dhtml = $rss("#"+settings.loadDiv).html(); - $rss("#rgWindow").html(dhtml).hide(); - prepareWindow(); - } - if(typeof settings.loadHtml!="undefined"){ - dhtml = settings.loadHtml; - $rss("#rgWindow").html(dhtml).hide(); - prepareWindow(); - } - if(typeof settings.loadPage!="undefined"){ - $rss("#rgWindow").load(settings.loadPage,function(){$rss(this).hide();dhtml=$rss(this).html();prepareWindow();}); - } - function prepareWindow(){ - if(tempheight!="auto") - rgWTop = (rgmaskHeight-tempheight)/2; - else{ - tempheight=$rss("#rgWindow").height(); - rgWTop=(rgmaskHeight-tempheight)/2; - } - if(tempwidth!="auto") - rgWLeft = (rgmaskWidth-tempwidth)/2; - else{ - tempwidth=$rss("#rgWindow").width(); - rgWLeft=(rgmaskWidth-tempwidth)/2; - } - $rss("#rgWindow").empty().show(); - var closebtn = ""; - if(closeBtn) - closebtn='X'; - $rss("#rgWindow").animate({"width":tempwidth+"px","height":tempheight+"px",top:rgWTop+"px", left:rgWLeft+"px"},500,function(){$rss("#rgWindow").html(closebtn+"
"+dhtml+"
"); - $rss("#close_modal").mouseover(function(){$rss(this).css("color","#999");}).mouseout(function(){$rss(this).css("color","#666");}) - $rss("#close_modal").click(function(){ - $rss("#rgWindow").empty(); - var x = (rgmaskHeight-20)/2; - var y = (rgmaskWidth-20)/2; - $rss("#rgWindow").animate({top:x+"px", left:y+"px","width":"50px","height":"50px"},300,function(){$rss(this).fadeOut(100).remove();$rss("#rgsheath").fadeOut(500).remove();}); - return false; - }) - if(envClose) - $rss("#rgsheath").click(function(){ - $rss("#rgWindow").empty(); - var x = (rgmaskHeight-20)/2; - var y = (rgmaskWidth-20)/2; - $rss("#rgWindow").animate({top:x+"px", left:y+"px","width":"50px","height":"50px"},300,function(){$rss(this).fadeOut(100).remove();$rss("#rgsheath").fadeOut(500).remove();});}) - - if(typeof callbackFn=="function") - callbackFn.call(this,dhtml); - }); - } -}, -modalWindowClose : function(callbackFn){ - if($rss("#rgWindow").length>0){ - $rss("#rgWindow").empty(); - var rgmaskHeight = $rss(window).height(); - var rgmaskWidth = $rss(window).width(); - var x = (rgmaskHeight-20)/2; - var y = (rgmaskWidth-20)/2 - $rss("#rgWindow").animate({top:x+"px", left:y+"px","width":"50px","height":"50px"},300,function(){$rss(this).fadeOut(100).remove();$rss("#rgsheath").fadeOut(500).remove();}) - } - if(typeof callbackFn=="function") - callbackFn.call(this,"harry"); -}, -bindDomToHead : function(dom){ - var gc = dom.css("background"); - var t = dom.offset(); - var gw = dom.width(); - $rss(window).scroll(function(){ - var wt = $rss(window).scrollTop(); - if ( wt > t.top ) { - var cssObj = { - 'position':'fixed', - 'top':0, - 'width':gw, - 'background':gc, - 'box-shadow':'0 1px 0 rgba(0,0,0,0.2)', - 'z-index':99 - } - dom.css(cssObj); - } else { - dom.attr('style',""); - } - }); -}, -progressBar : function(dom,settings){ - var domid = dom.prop("id"); - if($rss("#rss_progressbar_div_"+domid).length==0){ - if(typeof settings.top == "undefined") - settings.value = 1; - if(typeof settings.top == "undefined") - settings.top = (dom.height()-12)/2; - dom.append(""); - $rss("#rss_progressbar_div_"+domid).fadeIn(500); - } -}, -progressBarValue : function(dom,value){ - var domid = dom.prop("id"); - if($rss("#rss_progressbar_div_"+domid).length==1){ - $rss("#rss_progressbar_"+domid).animate({"width":value+"%"},100); - - } -}, -progressBarClose : function(dom){ - var domid = dom.prop("id"); - $rss("#rss_progressbar_div_"+domid).fadeOut(500,function(){$(this).remove();}); -}, -getInternetExplorerVersion: function(){ - var rv = -1; // Return value assumes failure. - if (navigator.appName == 'Microsoft Internet Explorer') - { - var ua = navigator.userAgent; - var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); - if (re.exec(ua) != null) - rv = parseFloat( RegExp.$1 ); - } - return rv; - } -} -$ = jQuery.noConflict(); \ No newline at end of file diff --git a/app/assets/stylesheets/style.css.erb b/app/assets/stylesheets/style.css.erb index 5a7253c5..70279d81 100644 --- a/app/assets/stylesheets/style.css.erb +++ b/app/assets/stylesheets/style.css.erb @@ -1,28 +1,48 @@ @font-face{ font-family: 'WebSymbolsRegular'; - src: url(<%= asset_path "websymbols-regular-webfont.eot" %>); - src: url(<%= asset_path "websymbols-regular-webfont.eot?#iefix" %>) format('embedded-opentype'), - url(<%= asset_path "websymbols-regular-webfont.woff" %>) format('woff'), - url(<%= asset_path "websymbols-regular-webfont.ttf" %>) format('truetype'), - url(<%= asset_path "websymbols-regular-webfont.svg#WebSymbolsRegular" %>) format('svg'); + src: url(<%= asset_path 'websymbols-regular-webfont.eot' %>); + src: url(<%= asset_path 'websymbols-regular-webfont.eot?#iefix' %>) format('embedded-opentype'), + url(<%= asset_path 'websymbols-regular-webfont.woff' %>) format('woff'), + url(<%= asset_path 'websymbols-regular-webfont.ttf' %>) format('truetype'), + url(<%= asset_path 'websymbols-regular-webfont.svg#WebSymbolsRegular' %>) format('svg'); +} +.login-logo { + text-indent: -9999px; + background: url(<%= asset_path 'sign-in-logo.png' %>) no-repeat center 40px; + padding-top: 40px; + height: 160px; } - #orbit-bar { margin-bottom: 0; position:fixed; width:100%; z-index: 99; + top: 0; + left: 0; } #orbit-bar .navbar-inner { + height: 40px; -moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px; + padding-top: 2px; + padding-bottom: 1px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(127, 149, 165, 1), 0 -1px 0 rgba(31, 32, 36, 1) inset; + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(127, 149, 165, 1), 0 -1px 0 rgba(31, 32, 36, 1) inset; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(127, 149, 165, 1), 0 -1px 0 rgba(31, 32, 36, 1) inset; + background-image: -moz-linear-gradient(top, #545b60, #191a1c); + background-image: -ms-linear-gradient(top, #545b60, #191a1c); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#545b60), to(#191a1c)); + background-image: -webkit-linear-gradient(top, #545b60, #191a1c); + background-image: -o-linear-gradient(top, #545b60, #191a1c); + background-image: linear-gradient(top, #545b60, #191a1c); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#545b60', endColorstr='#191a1c', GradientType=0); } #orbit-bar .container { width:100%; } #orbit-bar .orbit-logo .brand { - background: url(<%= asset_path "orbit-bar.png" %>) no-repeat -162px top; + background: url(<%= 'orbit-bar.png' %>) no-repeat -162px top; text-indent:-9999px; } #orbit-bar .orbit-logo .brand:hover { @@ -38,7 +58,7 @@ background-color: rgba(0,157,220,1); } #orbit-bar .nav > li > a { - background-image: url(<%= asset_path "orbit-bar.png" %>); + background-image: url(<%= 'orbit-bar.png' %>); background-repeat:no-repeat; display: inline-block; width: 16px; @@ -56,41 +76,216 @@ background-position: -38px -4px; margin: 0 10px 0 0; } +#orbit-bar .nav > li > a.orbit-bar-member { + background-position: -4px -37px; +} #orbit-bar .nav > li > a.orbit-bar-search { background-position: -68px -4px; } -#orbit-bar .log { - margin: 0 10px 0 0; +#orbit-bar .bar-login { + } -#orbit-bar .log input { - margin: 5px 0 0; +#orbit-bar .bar-login .open { + background-color: #009DDC; +} +#orbit-bar .bar-login .dropdown-menu { + padding: 0 0 10px; + max-width: 260px; +} +#orbit-bar .bar-login .dropdown-menu .log { + margin: 10px 15px 0; + list-style: none outside none; +} +#orbit-bar .bar-login .dropdown-menu .log .title { + background: url(<%= 'sign-in-logo2.png' %>) no-repeat center center; + height: 70px; +} +#orbit-bar .bar-login .dropdown-menu .log form { + margin: 0 0 8px; +} +#orbit-bar .bar-login .dropdown-menu .log input { + display: inline-block; + margin: 0; +} +#orbit-bar .bar-login .dropdown-menu .log .span2 { + width: 183px; +} +#orbit-bar .bar-login .dropdown-menu .log .forgot { + margin-bottom: 20px; + padding: 3px 0 0; + float: right; + display: inline-block; + color: #0088CC; +} +#orbit-bar .bar-login .dropdown-menu .log .input-prepend { + margin-top: 20px; +} +#orbit-bar .bar-login .dropdown-menu .log .remember { + margin-top: 5px; +} +#orbit-bar .bar-login .dropdown-menu .log .forgot:hover { + padding: 3px 0 0; + float: right; + display: inline-block; + color: #005580; + text-decoration: underline; + background-color: transparent; +} +#orbit-bar .bar-login .dropdown-menu .log .btn { + width: 220px; +} +#orbit-bar .bar-login .dropdown-menu .log .divider { + position:relative; + overflow: inherit; + margin: 20px 0; +} +#orbit-bar .bar-login .dropdown-menu .log .divider span { + position: absolute; + width: 20px; + height: 20px; + background-color: #FFF; + color: #666; + top: -9px; + left: 100px; + font-size:16px; + text-align: center; +} +#signin-body{ + background: url(<%= 'background.jpg' %>) repeat left top; } - #main-sidebar { - background-color: #FFFFFF; + background: url(<%= 'background.jpg' %>) repeat left top; width: 155px; padding-right: 4px; - border-right: 1px solid rgba(0,0,0,.3); + border-right: 1px solid rgba(0,0,0,.2); position:fixed; - top:40px; + top: 42px; z-index: 88; } - +#main-sidebar .nav { + padding-top: 5px; +} +#main-sidebar .nav > li.active > a [class^="icons-"] { + background-image: url(<%= 'icons_pack_white.png' %>); +} +#main-sidebar .nav > li > .nav { + margin-left: -14px; + margin-bottom: 5px; + width: 155px; + padding: 0; + background-color: #FFF; + /*border-radius: 0px 0px 8px 0px; + -webkit-border-radius: 0px 0px 8px 0px; + -moz-border-radius: 0px 0px 8px 0px;*/ + box-shadow: 0px 2px 1px rgba(0,0,0,0.1); + -moz-box-shadow: 0px 2px 1px rgba(0,0,0,0.1); + -webkit-box-shadow: 0px 2px 1px rgba(0,0,0,0.1); +} +#main-sidebar .nav > li > .nav > li > a { + margin-left: 0; + padding-left: 19px; + color: #999; +} +#main-sidebar .nav > li > .nav > li > a:hover { + color: #000; + background-color: #d7eeff; +} +#main-sidebar .nav > li > .nav > li.active > a { + background-color: #b7b7b7; + color: #fff; +} #main-wrap { + background-color: #FFF; margin-left:160px; - padding-top: 40px; + padding-top: 42px; + padding-bottom: 18px; position: relative; } #main-wrap > .form-actions { + background-color: #FFF; text-align: center; - padding: 17px 20px 27px; + padding: 17px 20px 0; margin: 0; } - #main-wrap .subnav { height: auto; min-height: 36px; } +#main-wrap .pagination { + margin: 18px 0 0; + text-align: center; +} +#main-wrap .breadcrumb { + border-radius: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-width: 0 0 1px 0; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + margin-bottom: 0px; +} +#main-wrap .breadcrumb li { + font-size: 12px; + color: #999; +} +#sub-wiget { + clear: right; + float: right; + padding-right: 10px; + padding-top: 8px; + position: relative; + margin-bottom: 13px; + width: 304px; +} +.main-wiget .widget-box { + margin: 5px 0; + width: 100%; +} +#poststuff .form-actions { + background-color: transparent; + text-align: right; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0; + clear: both; +} +#poststuff form { + margin-bottom: 0; +} +#post-body { + float: left; + clear: left; + width: 100%; + margin-right: -340px; +} +#post-body .title input[type=text] { + margin-bottom: 0; + width: 100%; + height: 30px; +} +#post-body .btn-group { + margin-left: 5px; +} +#post-body .well { + margin: 0; + border-radius: 0px; + -moz-border-radius: 0px; + box-shadow: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + border-top: none; +} +#post-body .editor { + background-color: #333333; + height: 20px; + margin: 8px 0; + width: 100%; +} +#post-body-content { + margin-right: 320px; + padding: 8px 0 8px 6px; +} .filter .accordion-heading > a:hover { text-decoration: none; } @@ -117,23 +312,14 @@ border-top-color: #0088CC; margin-top: 6px; } -.accordion-group .web-symbol:after { - font-family: 'WebSymbolsRegular'; - content: "{"; - margin-left: 2px; - margin-top: 8px; -} .filter .active { background-color: #0088CC; } .filter .active a { color: #FFF; } -.filter .active .web-symbol:after { - content: "}"; -} .filters { - background-color: rgba(0,0,0,0.025); + background-color: rgba(0,0,0,0.075); -webkit-box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.2); -moz-box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.2); box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.2); @@ -148,12 +334,107 @@ .filters .filter-clear { padding: 5px 5px 0; border-top: 1px solid rgba(0,0,0,0.1); - background-color: rgba(0,0,0,0.025); text-align: right; + margin: 0 5px; + -webkit-box-shadow: inset 0 1px 0px rgba(255, 255, 255, 0.5); + -moz-box-shadow: inset 0 1px 0px rgba(255, 255, 255, 0.5); + box-shadow: inset 0 1px 0px rgba(255, 255, 255, 0.5); } .filters .in { border-bottom: 1px solid rgba(0,0,0,0.07) } +.sign-in { + width: 360px; + margin: 0 auto 70px; + background-color: #FFF; + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; + -moz-box-shadow: 0 2px 2px rgba(143, 143, 143, 0.38); + -webkit-box-shadow: 0 2px 2px rgba(143, 143, 143, 0.38); + box-shadow: 0 2px 2px rgba(143, 143, 143, 0.38); + border-width: 0px 1px 1px 1px; + border-style: none solid solid solid; + border-color: transparent #c6c6c6 #c6c6c6 #c6c6c6; +} +#signin-header { + width: 340px; + margin: 30px auto 0; + line-height: 25px; + padding: 5px 10px; + border-width: 1px 1px 0px 1px; + border-style: solid solid none solid; + border-color: #c6c6c6 #c6c6c6 transparent #c6c6c6; + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #dadada, #c0c0c0); + background-image: -ms-linear-gradient(top, #dadada, #c0c0c0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#dadada), to(#c0c0c0)); + background-image: -webkit-linear-gradient(top, #dadada, #c0c0c0); + background-image: -o-linear-gradient(top, #dadada, #c0c0c0); + background-image: linear-gradient(top, #dadada, #c0c0c0); + -moz-border-radius: 5px 5px 0px 0px ; + -webkit-border-radius: 5px 5px 0px 0px; + border-radius: 5px 5px 0px 0px; + -moz-box-shadow: 0 1px 0px rgba(20, 20, 20, 0.3); + -webkit-box-shadow: 0 1px 0px rgba(20, 20, 20, 0.3); + box-shadow: 0 1px 0px rgba(20, 20, 20, 0.3); +} +#signin-header h3 { + color: #848484; + text-shadow: 0 1px 0 #e9e9e9; +} +#sign-footer { + width: 100%; + position:fixed; + bottom: 0; + height: 40px; + background-color: #dadada; + color: #7a7a7a; + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.3); +} +#sign-footer p { + line-height: 40px; + padding: 0 10px; + text-align: right; +} +.sign-in .control-group label { + text-align: left; + width: auto; + font-size: 15px; +} +.sign-in .forgot { + padding-top: 5px; +} +.sign-in .content { + padding: 10px; +} +.sign-in .form-actions { + padding: 17px 10px 18px; + margin: 0; + -moz-border-radius: 0px 0px 5px 5px; + -webkit-border-radius: 0px 0px 5px 5px; + border-radius: 0px 0px 5px 5px; +} +.sign-in form { + margin: 0; +} +.sign-in .control-group .help-inline { + display:none; +} +.sign-in .error .help-inline { + display:inline-block; +} +.web-symbol:after { + font-family: 'WebSymbolsRegular'; + content: "{"; + margin-left: 2px; + margin-top: 8px; +} +.active .web-symbol:after { + content: "}"; +} /*icons*/ .the-icons i:after { content: attr(class); @@ -166,12 +447,36 @@ display: block; margin-bottom: 5px; } +[class^="text-"] { + font-size: 15px !important; +} +.text-blue { + color: #0088CC !important; +} +.text-red { + color: #CC3300 !important; +} +.text-yellow { + color: #ffcc00 !important; +} +.text-orange { + color: #f7941d !important; +} +.text-purple { + color: #a864a8 !important; +} +.text-palm { + color: #a67c52 !important; +} +.text-green { + color: #39b54a !important; +} [class^="icons-"] { display: inline-block; width: 16px; height: 16px; vertical-align: text-top; - background-image: url(<%= asset_path "icons_pack.png" %>); + background-image: url(<%= 'icons_pack.png' %>); background-position: 16px 16px; background-repeat: no-repeat; *margin-right: .3em; @@ -181,7 +486,7 @@ *margin-left: 0; } .icons-white { - background-image: url(<%= asset_path "icons_pack_white.png" %>); + background-image: url(<%= 'icons_pack_white.png' %>); } /*1*/ .icons-pencil { diff --git a/app/assets/stylesheets/widget.css b/app/assets/stylesheets/widget.css index 7dcc7fd3..b66a6074 100644 --- a/app/assets/stylesheets/widget.css +++ b/app/assets/stylesheets/widget.css @@ -5,26 +5,34 @@ background-color: #FFF; overflow: hidden; min-width: 300px; - border: 1px solid #DDD; - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; margin: 0 0 5px 5px; position:relative; } .widget-box .widget-title { - background: #999; color: #FFF; padding-left: 5px; border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -webkit-border-radius: 5px 5px 0 0; + background-image: -moz-linear-gradient(top, #B7B7B7, #9d9d9d); + background-image: -ms-linear-gradient(top, #B7B7B7, #9d9d9d); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#B7B7B7), to(#9d9d9d)); + background-image: -webkit-linear-gradient(top, #B7B7B7, #9d9d9d); + background-image: -o-linear-gradient(top, #B7B7B7, #9d9d9d); + background-image: linear-gradient(top, #B7B7B7, #9d9d9d); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#B7B7B7', endColorstr='#9d9d9d', GradientType=0); } .widget-box .widget-title [class^="icons-"] { margin: 3px 5px 0 2px; } .widget-box .widget-content { padding: 10px; + border-width: 0 1px 1px; + border-style: solid; + border-color: #CCCCCC; + border-radius: 0 0 5px 5px; + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; } .widget-box .form-horizontal .control-group > label { width: 50px; diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index f48777cc..4b433777 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -3,6 +3,8 @@ class ApplicationController < ActionController::Base include ParserFrontEnd, ParserBackEnd + layout :layout_by_resource + helper :all before_filter :set_locale, :set_site @@ -104,6 +106,12 @@ class ApplicationController < ActionController::Base Item.first(:conditions => {:parent_id => nil}) end - + def layout_by_resource + if devise_controller? + "devise" + else + "application" + end + end end diff --git a/app/views/devise/confirmations/new.html.erb b/app/views/devise/confirmations/new.html.erb new file mode 100644 index 00000000..b7ae403c --- /dev/null +++ b/app/views/devise/confirmations/new.html.erb @@ -0,0 +1,12 @@ +

Resend confirmation instructions

+ +<%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %> + <%= devise_error_messages! %> + +
<%= f.label :email %>
+ <%= f.email_field :email %>
+ +
<%= f.submit "Resend confirmation instructions" %>
+<% end %> + +<%= render :partial => "devise/shared/links" %> \ No newline at end of file diff --git a/app/views/devise/mailer/confirmation_instructions.html.erb b/app/views/devise/mailer/confirmation_instructions.html.erb new file mode 100644 index 00000000..a6ea8ca1 --- /dev/null +++ b/app/views/devise/mailer/confirmation_instructions.html.erb @@ -0,0 +1,5 @@ +

Welcome <%= @resource.email %>!

+ +

You can confirm your account through the link below:

+ +

<%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %>

diff --git a/app/views/devise/mailer/reset_password_instructions.html.erb b/app/views/devise/mailer/reset_password_instructions.html.erb new file mode 100644 index 00000000..ae9e888a --- /dev/null +++ b/app/views/devise/mailer/reset_password_instructions.html.erb @@ -0,0 +1,8 @@ +

Hello <%= @resource.email %>!

+ +

Someone has requested a link to change your password, and you can do this through the link below.

+ +

<%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %>

+ +

If you didn't request this, please ignore this email.

+

Your password won't change until you access the link above and create a new one.

diff --git a/app/views/devise/mailer/unlock_instructions.html.erb b/app/views/devise/mailer/unlock_instructions.html.erb new file mode 100644 index 00000000..2263c219 --- /dev/null +++ b/app/views/devise/mailer/unlock_instructions.html.erb @@ -0,0 +1,7 @@ +

Hello <%= @resource.email %>!

+ +

Your account has been locked due to an excessive amount of unsuccessful sign in attempts.

+ +

Click the link below to unlock your account:

+ +

<%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %>

diff --git a/app/views/devise/passwords/edit.html.erb b/app/views/devise/passwords/edit.html.erb new file mode 100644 index 00000000..e75c9371 --- /dev/null +++ b/app/views/devise/passwords/edit.html.erb @@ -0,0 +1,16 @@ +

Change your password

+ +<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %> + <%= devise_error_messages! %> + <%= f.hidden_field :reset_password_token %> + +
<%= f.label :password, "New password" %>
+ <%= f.password_field :password %>
+ +
<%= f.label :password_confirmation, "Confirm new password" %>
+ <%= f.password_field :password_confirmation %>
+ +
<%= f.submit "Change my password" %>
+<% end %> + +<%= render :partial => "devise/shared/links" %> \ No newline at end of file diff --git a/app/views/devise/passwords/new.html.erb b/app/views/devise/passwords/new.html.erb new file mode 100644 index 00000000..dd31973b --- /dev/null +++ b/app/views/devise/passwords/new.html.erb @@ -0,0 +1,21 @@ +

<%= t(:ruling_site) %>

+
+

<%= t(:forgot_password) %>

+
+ \ No newline at end of file diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb new file mode 100644 index 00000000..ff380509 --- /dev/null +++ b/app/views/devise/registrations/edit.html.erb @@ -0,0 +1,25 @@ +

Edit <%= resource_name.to_s.humanize %>

+ +<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %> + <%= devise_error_messages! %> + +
<%= f.label :email %>
+ <%= f.email_field :email %>
+ +
<%= f.label :password %> (leave blank if you don't want to change it)
+ <%= f.password_field :password %>
+ +
<%= f.label :password_confirmation %>
+ <%= f.password_field :password_confirmation %>
+ +
<%= f.label :current_password %> (we need your current password to confirm your changes)
+ <%= f.password_field :current_password %>
+ +
<%= f.submit "Update" %>
+<% end %> + +

Cancel my account

+ +

Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>.

+ +<%= link_to "Back", :back %> diff --git a/app/views/devise/registrations/new.html.erb b/app/views/devise/registrations/new.html.erb new file mode 100644 index 00000000..d15e275a --- /dev/null +++ b/app/views/devise/registrations/new.html.erb @@ -0,0 +1,18 @@ +

Sign up

+ +<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %> + <%= devise_error_messages! %> + +
<%= f.label :email %>
+ <%= f.email_field :email %>
+ +
<%= f.label :password %>
+ <%= f.password_field :password %>
+ +
<%= f.label :password_confirmation %>
+ <%= f.password_field :password_confirmation %>
+ +
<%= f.submit "Sign up" %>
+<% end %> + +<%= render :partial => "devise/shared/links" %> diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb new file mode 100644 index 00000000..738e2645 --- /dev/null +++ b/app/views/devise/sessions/new.html.erb @@ -0,0 +1,34 @@ +

<%= t(:ruling_site) %>

+
+

<%= t(:login) %>

+
+ \ No newline at end of file diff --git a/app/views/devise/shared/_links.erb b/app/views/devise/shared/_links.erb new file mode 100644 index 00000000..eab783a4 --- /dev/null +++ b/app/views/devise/shared/_links.erb @@ -0,0 +1,25 @@ +<%- if controller_name != 'sessions' %> + <%= link_to "Sign in", new_session_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.registerable? && controller_name != 'registrations' %> + <%= link_to "Sign up", new_registration_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.recoverable? && controller_name != 'passwords' %> + <%= link_to "Forgot your password?", new_password_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %> + <%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %> + <%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.omniauthable? %> + <%- resource_class.omniauth_providers.each do |provider| %> + <%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) %>
+ <% end -%> +<% end -%> \ No newline at end of file diff --git a/app/views/devise/unlocks/new.html.erb b/app/views/devise/unlocks/new.html.erb new file mode 100644 index 00000000..c6cdcfe5 --- /dev/null +++ b/app/views/devise/unlocks/new.html.erb @@ -0,0 +1,12 @@ +

Resend unlock instructions

+ +<%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %> + <%= devise_error_messages! %> + +
<%= f.label :email %>
+ <%= f.email_field :email %>
+ +
<%= f.submit "Resend unlock instructions" %>
+<% end %> + +<%= render :partial => "devise/shared/links" %> \ No newline at end of file diff --git a/app/views/layouts/_orbit_bar.html.erb b/app/views/layouts/_orbit_bar.html.erb index d6e5217e..d8ab0540 100644 --- a/app/views/layouts/_orbit_bar.html.erb +++ b/app/views/layouts/_orbit_bar.html.erb @@ -1,9 +1,3 @@ -<% if controller.controller_name.eql?('pages') %> - - - -<% end %> -