Signed-off-by: alan <547533434@qq.com>

memcached_alan
alan 11 years ago
parent d96843a1d5
commit 479a1249ae

@ -36,7 +36,7 @@ class Course < ActiveRecord::Base
acts_as_attachable :view_permission => :view_course_files, acts_as_attachable :view_permission => :view_course_files,
:delete_permission => :manage_files :delete_permission => :manage_files
validates_presence_of :password, :term,:name, validates_presence_of :password, :term,:name
validates_format_of :class_period, :with =>/^[1-9]\d*$/ validates_format_of :class_period, :with =>/^[1-9]\d*$/
validates_format_of :name,:with =>/^[^ ]+[a-zA-Z0-9_\u4e00-\u9fa5\s\S]+$/ validates_format_of :name,:with =>/^[^ ]+[a-zA-Z0-9_\u4e00-\u9fa5\s\S]+$/
validates_length_of :description, :maximum => 10000 validates_length_of :description, :maximum => 10000

@ -79,7 +79,8 @@
<td> <td>
<%=link_to l(:field_homepage), home_path %> > <%=link_to l(:field_homepage), home_path %> >
<a href="http://<%= Setting.host_contest %>" class="link_other_item"> <a href="http://<%= Setting.host_contest %>" class="link_other_item">
<%=l(:label_courses_management_platform)%> <%=l(:label_contests_management_platform)%>
</a> > </a> >
<span title="<%= @contest.name%>"> <span title="<%= @contest.name%>">
<%= link_to h(truncate(@contest.name, length: 20, omission: '...')), show_contest_contest_path(@contest) %> <%= link_to h(truncate(@contest.name, length: 20, omission: '...')), show_contest_contest_path(@contest) %>

@ -1,160 +1,160 @@
.overlay_mac_os_x_dialog { .overlay_mac_os_x_dialog {
background-color: #FF7224; background-color: #FF7224;
filter:alpha(opacity=60); filter:alpha(opacity=60);
-moz-opacity: 0.6; -moz-opacity: 0.6;
opacity: 0.6; opacity: 0.6;
} }
.mac_os_x_dialog_nw { .mac_os_x_dialog_nw {
background: transparent url(mac_os_x_dialog/L.png) repeat-y top left; background: transparent url(mac_os_x_dialog/L.png) repeat-y top left;
width:16px; width:16px;
height:16px; height:16px;
} }
.mac_os_x_dialog_n { .mac_os_x_dialog_n {
background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0; background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0;
height:18px; height:18px;
} }
.mac_os_x_dialog_ne { .mac_os_x_dialog_ne {
background: transparent url(mac_os_x_dialog/R.png) repeat-y top left; background: transparent url(mac_os_x_dialog/R.png) repeat-y top left;
width:16px; width:16px;
height:16px; height:16px;
} }
.mac_os_x_dialog_w { .mac_os_x_dialog_w {
background: transparent url(mac_os_x_dialog/L.png) repeat-y top left; background: transparent url(mac_os_x_dialog/L.png) repeat-y top left;
width:16px; width:16px;
} }
.mac_os_x_dialog_e { .mac_os_x_dialog_e {
background: transparent url(mac_os_x_dialog/R.png) repeat-y top right; background: transparent url(mac_os_x_dialog/R.png) repeat-y top right;
width:16px; width:16px;
} }
.mac_os_x_dialog_sw { .mac_os_x_dialog_sw {
background: transparent url(mac_os_x_dialog/BL.png) no-repeat 0 0; background: transparent url(mac_os_x_dialog/BL.png) no-repeat 0 0;
width:31px; width:31px;
height:40px; height:40px;
} }
.mac_os_x_dialog_s { .mac_os_x_dialog_s {
background: transparent url(mac_os_x_dialog/B.png) repeat-x 0 0; background: transparent url(mac_os_x_dialog/B.png) repeat-x 0 0;
height:40px; height:40px;
} }
.mac_os_x_dialog_se, .mac_os_x_dialog_sizer { .mac_os_x_dialog_se, .mac_os_x_dialog_sizer {
background: transparent url(mac_os_x_dialog/BR.png) no-repeat 0 0; background: transparent url(mac_os_x_dialog/BR.png) no-repeat 0 0;
width:31px; width:31px;
height:40px; height:40px;
} }
.mac_os_x_dialog_sizer { .mac_os_x_dialog_sizer {
cursor:se-resize; cursor:se-resize;
} }
.mac_os_x_dialog_close { .mac_os_x_dialog_close {
width: 19px; width: 19px;
height: 19px; height: 19px;
background: transparent url(mac_os_x_dialog/close.gif) no-repeat 0 0; background: transparent url(mac_os_x_dialog/close.gif) no-repeat 0 0;
position:absolute; position:absolute;
top:12px; top:12px;
left:25px; left:25px;
cursor:pointer; cursor:pointer;
z-index:1000; z-index:1000;
} }
.mac_os_x_dialog_minimize { .mac_os_x_dialog_minimize {
width: 19px; width: 19px;
height: 19px; height: 19px;
background: transparent url(mac_os_x_dialog/minimize.gif) no-repeat 0 0; background: transparent url(mac_os_x_dialog/minimize.gif) no-repeat 0 0;
position:absolute; position:absolute;
top:12px; top:12px;
left:45px; left:45px;
cursor:pointer; cursor:pointer;
z-index:1000; z-index:1000;
} }
.mac_os_x_dialog_maximize { .mac_os_x_dialog_maximize {
width: 19px; width: 19px;
height: 19px; height: 19px;
background: transparent url(mac_os_x_dialog/maximize.gif) no-repeat 0 0; background: transparent url(mac_os_x_dialog/maximize.gif) no-repeat 0 0;
position:absolute; position:absolute;
top:12px; top:12px;
left:65px; left:65px;
cursor:pointer; cursor:pointer;
z-index:1000; z-index:1000;
} }
.mac_os_x_dialog_title { .mac_os_x_dialog_title {
float:left; float:left;
height:14px; height:14px;
font-family: Tahoma, Arial, sans-serif; font-family: Tahoma, Arial, sans-serif;
font-size:12px; font-size:12px;
text-align:center; text-align:center;
margin-top:6px; margin-top:6px;
width:100%; width:100%;
color:#000; color:#000;
} }
.mac_os_x_dialog_content { .mac_os_x_dialog_content {
overflow:auto; overflow:auto;
color: #222; color: #222;
font-family: Tahoma, Arial, sans-serif; font-family: Tahoma, Arial, sans-serif;
font-size: 10px; font-size: 10px;
background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0; background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0;
} }
.mac_os_x_dialog_buttons { .mac_os_x_dialog_buttons {
text-align: center; text-align: center;
} }
/* FOR IE */ /* FOR IE */
* html .mac_os_x_dialog_nw { * html .mac_os_x_dialog_nw {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale");
} }
* html .mac_os_x_dialog_ne { * html .mac_os_x_dialog_ne {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale");
} }
* html .mac_os_x_dialog_w { * html .mac_os_x_dialog_w {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale");
} }
* html .mac_os_x_dialog_e { * html .mac_os_x_dialog_e {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale");
} }
* html .mac_os_x_dialog_sw { * html .mac_os_x_dialog_sw {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BL.png", sizingMethod="crop"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BL.png", sizingMethod="crop");
} }
* html .mac_os_x_dialog_s { * html .mac_os_x_dialog_s {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/B.png", sizingMethod="scale"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/B.png", sizingMethod="scale");
} }
* html .mac_os_x_dialog_se { * html .mac_os_x_dialog_se {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop");
} }
* html .mac_os_x_dialog_sizer { * html .mac_os_x_dialog_sizer {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop");
} }

@ -1,164 +1,164 @@
.overlay_nuncio img { border: none; } .overlay_nuncio img { border: none; }
.overlay_nuncio { .overlay_nuncio {
background-color: #666666; background-color: #666666;
} }
.nuncio_nw { .nuncio_nw {
width: 12px; width: 12px;
height: 28px; height: 28px;
background: url(nuncio/top_left.png) no-repeat; background: url(nuncio/top_left.png) no-repeat;
} }
.nuncio_n { .nuncio_n {
background: url(nuncio/top_mid.png) repeat-x; background: url(nuncio/top_mid.png) repeat-x;
height: 28px; height: 28px;
} }
.nuncio_ne { .nuncio_ne {
width: 21px; width: 21px;
height: 28px; height: 28px;
background: url(nuncio/top_right.png) no-repeat; background: url(nuncio/top_right.png) no-repeat;
} }
.nuncio_e { .nuncio_e {
width: 21px; width: 21px;
background: url(nuncio/center_right.png) repeat-y top right; background: url(nuncio/center_right.png) repeat-y top right;
} }
.nuncio_w { .nuncio_w {
width: 12px; width: 12px;
background: url(nuncio/center_left.png) repeat-y top left; background: url(nuncio/center_left.png) repeat-y top left;
} }
.nuncio_sw { .nuncio_sw {
width: 12px; width: 12px;
height: 18px; height: 18px;
background: url(nuncio/bottom_left.png) no-repeat; background: url(nuncio/bottom_left.png) no-repeat;
} }
.nuncio_s { .nuncio_s {
background: url(nuncio/bottom_mid.png) repeat-x 0 0; background: url(nuncio/bottom_mid.png) repeat-x 0 0;
height: 18px; height: 18px;
} }
.nuncio_se, .nuncio_sizer { .nuncio_se, .nuncio_sizer {
width: 21px; width: 21px;
height: 18px; height: 18px;
background: url(nuncio/bottom_right.png) no-repeat; background: url(nuncio/bottom_right.png) no-repeat;
} }
.nuncio_close { .nuncio_close {
width: 14px; width: 14px;
height: 14px; height: 14px;
background: url(nuncio/close.png) no-repeat; background: url(nuncio/close.png) no-repeat;
position:absolute; position:absolute;
top:10px; top:10px;
right:22px; right:22px;
cursor:pointer; cursor:pointer;
z-index:2000; z-index:2000;
} }
.nuncio_minimize { .nuncio_minimize {
width: 14px; width: 14px;
height: 15px; height: 15px;
background: url(nuncio/minimize.png) no-repeat; background: url(nuncio/minimize.png) no-repeat;
position:absolute; position:absolute;
top:10px; top:10px;
right:40px; right:40px;
cursor:pointer; cursor:pointer;
z-index:2000; z-index:2000;
} }
.nuncio_title { .nuncio_title {
float:left; float:left;
font-size:11px; font-size:11px;
font-weight: bold; font-weight: bold;
font-style: italic; font-style: italic;
color: #fff; color: #fff;
width: 100% width: 100%
} }
.nuncio_content { .nuncio_content {
background: url(nuncio/overlay.png) repeat; background: url(nuncio/overlay.png) repeat;
overflow:auto; overflow:auto;
color: #ddd; color: #ddd;
font-family: Tahoma, Arial, "sans-serif"; font-family: Tahoma, Arial, "sans-serif";
font-size: 10px; font-size: 10px;
} }
.nuncio_sizer { .nuncio_sizer {
cursor:se-resize; cursor:se-resize;
} }
.top_draggable, .bottom_draggable { .top_draggable, .bottom_draggable {
cursor:move cursor:move
} }
/* FOR IE */ /* FOR IE */
* html .nuncio_nw { * html .nuncio_nw {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_left.png", sizingMethod="crop"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_left.png", sizingMethod="crop");
} }
* html .nuncio_n { * html .nuncio_n {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_mid.png", sizingMethod="scale"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_mid.png", sizingMethod="scale");
} }
* html .nuncio_ne { * html .nuncio_ne {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_right.png", sizingMethod="crop"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_right.png", sizingMethod="crop");
} }
* html .nuncio_w { * html .nuncio_w {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_left.png", sizingMethod="scale"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_left.png", sizingMethod="scale");
} }
* html .nuncio_e { * html .nuncio_e {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_right.png", sizingMethod="scale"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_right.png", sizingMethod="scale");
} }
* html .nuncio_sw { * html .nuncio_sw {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_left.png", sizingMethod="crop"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_left.png", sizingMethod="crop");
} }
* html .nuncio_s { * html .nuncio_s {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_mid.png", sizingMethod="scale"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_mid.png", sizingMethod="scale");
} }
* html .nuncio_se { * html .nuncio_se {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop");
} }
* html .nuncio_sizer { * html .nuncio_sizer {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop");
} }
* html .nuncio_close { * html .nuncio_close {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/close.png", sizingMethod="crop"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/close.png", sizingMethod="crop");
} }
* html .nuncio_minimize { * html .nuncio_minimize {
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/minimize.png", sizingMethod="crop"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/minimize.png", sizingMethod="crop");
} }

@ -1,108 +1,108 @@
.overlay_spread { .overlay_spread {
background-color: #85BBEF; background-color: #85BBEF;
filter:alpha(opacity=60); filter:alpha(opacity=60);
-moz-opacity: 0.6; -moz-opacity: 0.6;
opacity: 0.6; opacity: 0.6;
} }
.spread_nw { .spread_nw {
background: transparent url(spread/left-top.gif) no-repeat 0 0; background: transparent url(spread/left-top.gif) no-repeat 0 0;
width:10px; width:10px;
height:25px; height:25px;
} }
.spread_n { .spread_n {
background: transparent url(spread/top-middle.gif) repeat-x 0 0; background: transparent url(spread/top-middle.gif) repeat-x 0 0;
height:25px; height:25px;
} }
.spread_ne { .spread_ne {
background: transparent url(spread/right-top.gif) no-repeat 0 0; background: transparent url(spread/right-top.gif) no-repeat 0 0;
width:10px; width:10px;
height:25px; height:25px;
} }
.spread_w { .spread_w {
background: transparent url(spread/frame-left.gif) repeat-y top left; background: transparent url(spread/frame-left.gif) repeat-y top left;
width:7px; width:7px;
} }
.spread_e { .spread_e {
background: transparent url(spread/frame-right.gif) repeat-y top right; background: transparent url(spread/frame-right.gif) repeat-y top right;
width:7px; width:7px;
} }
.spread_sw { .spread_sw {
background: transparent url(spread/bottom-left-c.gif) no-repeat 0 0; background: transparent url(spread/bottom-left-c.gif) no-repeat 0 0;
width:7px; width:7px;
height:7px; height:7px;
} }
.spread_s { .spread_s {
background: transparent url(spread/bottom-middle.gif) repeat-x 0 0; background: transparent url(spread/bottom-middle.gif) repeat-x 0 0;
height:7px; height:7px;
} }
.spread_se, .spread_sizer { .spread_se, .spread_sizer {
background: transparent url(spread/bottom-right-c.gif) no-repeat 0 0; background: transparent url(spread/bottom-right-c.gif) no-repeat 0 0;
width:7px; width:7px;
height:7px; height:7px;
} }
.spread_sizer { .spread_sizer {
cursor:se-resize; cursor:se-resize;
} }
.spread_close { .spread_close {
width: 23px; width: 23px;
height: 23px; height: 23px;
background: transparent url(spread/button-close-focus.gif) no-repeat 0 0; background: transparent url(spread/button-close-focus.gif) no-repeat 0 0;
position:absolute; position:absolute;
top:0px; top:0px;
right:11px; right:11px;
cursor:pointer; cursor:pointer;
z-index:1000; z-index:1000;
} }
.spread_minimize { .spread_minimize {
width: 23px; width: 23px;
height: 23px; height: 23px;
background: transparent url(spread/button-min-focus.gif) no-repeat 0 0; background: transparent url(spread/button-min-focus.gif) no-repeat 0 0;
position:absolute; position:absolute;
top:0px; top:0px;
right:55px; right:55px;
cursor:pointer; cursor:pointer;
z-index:1000; z-index:1000;
} }
.spread_maximize { .spread_maximize {
width: 23px; width: 23px;
height: 23px; height: 23px;
background: transparent url(spread/button-max-focus.gif) no-repeat 0 0; background: transparent url(spread/button-max-focus.gif) no-repeat 0 0;
position:absolute; position:absolute;
top:0px; top:0px;
right:33px; right:33px;
cursor:pointer; cursor:pointer;
z-index:1000; z-index:1000;
} }
.spread_title { .spread_title {
float:left; float:left;
height:14px; height:14px;
font-family: Tahoma, Arial, sans-serif; font-family: Tahoma, Arial, sans-serif;
font-size:14px; font-size:14px;
font-weight:bold; font-weight:bold;
text-align:left; text-align:left;
margin-top:2px; margin-top:2px;
width:100%; width:100%;
color:#E47211; color:#E47211;
} }
.spread_content { .spread_content {
overflow:auto; overflow:auto;
color: #222; color: #222;
font-family: Tahoma, Arial, sans-serif; font-family: Tahoma, Arial, sans-serif;
font-size: 10px; font-size: 10px;
background:#A9EA00; background:#A9EA00;
} }

Loading…
Cancel
Save