Ray's back_end modification before sub_roles
This commit is contained in:
parent
f774084e9a
commit
fc591ee308
Binary file not shown.
Before Width: | Height: | Size: 958 B After Width: | Height: | Size: 983 B |
Binary file not shown.
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.7 KiB |
Binary file not shown.
After Width: | Height: | Size: 342 B |
|
@ -6,4 +6,7 @@
|
||||||
*= require_self
|
*= require_self
|
||||||
*= require message
|
*= require message
|
||||||
*= require admin_back_end
|
*= require admin_back_end
|
||||||
|
*= require sidebar
|
||||||
|
*= require site_designs
|
||||||
|
*= require site_assets
|
||||||
*/
|
*/
|
|
@ -4,7 +4,7 @@ html, body{
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
html{
|
html{
|
||||||
background: url(<%= asset_path "body.jpg" %>) no-repeat scroll 0 0 transparent;
|
background: url(<%= asset_path "body.jpg" %>) no-repeat fixed 0 0 transparent;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,16 +116,6 @@ body{
|
||||||
left: 0;
|
left: 0;
|
||||||
box-shadow: 0 -3px 4px #000;
|
box-shadow: 0 -3px 4px #000;
|
||||||
}
|
}
|
||||||
#sidebar {
|
|
||||||
background: url(<%= asset_path "75.png" %>) repeat scroll left top transparent;
|
|
||||||
box-shadow: 3px 0 4px #472A12;
|
|
||||||
border-right: 1px solid #121212;
|
|
||||||
height: 100%;
|
|
||||||
left: 0;
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
width: 220px;
|
|
||||||
}
|
|
||||||
#search {
|
#search {
|
||||||
background: url(<%= asset_path "search_block_bg.jpg" %>) repeat-x scroll left top transparent;
|
background: url(<%= asset_path "search_block_bg.jpg" %>) repeat-x scroll left top transparent;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
|
@ -140,7 +130,18 @@ body{
|
||||||
padding: 0 20px;
|
padding: 0 20px;
|
||||||
width: 154px;
|
width: 154px;
|
||||||
}
|
}
|
||||||
h1 {
|
/*
|
||||||
|
#sidebar {
|
||||||
|
background: url(<%= asset_path "75.png" %>) repeat scroll left top transparent;
|
||||||
|
box-shadow: 3px 0 4px #472A12;
|
||||||
|
border-right: 1px solid #121212;
|
||||||
|
height: 100%;
|
||||||
|
left: 0;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: 220px;
|
||||||
|
}
|
||||||
|
#sidebar h1 {
|
||||||
background: url(<%= asset_path "h1_bg.png" %>) repeat-x scroll left top transparent;
|
background: url(<%= asset_path "h1_bg.png" %>) repeat-x scroll left top transparent;
|
||||||
border-bottom: 1px solid #1B1B1B;
|
border-bottom: 1px solid #1B1B1B;
|
||||||
border-top: 1px solid #424344;
|
border-top: 1px solid #424344;
|
||||||
|
@ -153,33 +154,33 @@ h1 {
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
text-shadow: 0 -1px 0 #000000;
|
text-shadow: 0 -1px 0 #000000;
|
||||||
}
|
}
|
||||||
.member_setup .list {
|
#sidebar .list {
|
||||||
color:#fff;
|
color:#fff;
|
||||||
font-size:12px;
|
font-size:12px;
|
||||||
background:url(<%= asset_path "line.png" %>) repeat-x left bottom;
|
background:url(<%= asset_path "line.png" %>) repeat-x left bottom;
|
||||||
}
|
}
|
||||||
.member_setup .list li {
|
#sidebar .list li {
|
||||||
background:url(<%= asset_path "sidebar_li.jpg" %>) repeat-x left top;
|
background:url(<%= asset_path "sidebar_li.jpg" %>) repeat-x left top;
|
||||||
border-top:1px solid #424344;
|
border-top:1px solid #424344;
|
||||||
border-bottom:1px solid #000000;
|
border-bottom:1px solid #000000;
|
||||||
}
|
}
|
||||||
.member_setup .list li:hover {
|
#sidebar .list li:hover {
|
||||||
background-position:left bottom;
|
background-position:left bottom;
|
||||||
border-top:1px solid #406cc3;
|
border-top:1px solid #406cc3;
|
||||||
border-bottom:1px solid #242628;
|
border-bottom:1px solid #242628;
|
||||||
}
|
}
|
||||||
.member_setup .list li a {
|
#sidebar .list li a {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 7px 0 6px 12px;
|
padding: 7px 0 6px 12px;
|
||||||
color:#c4c4c4;
|
color:#c4c4c4;
|
||||||
}
|
}
|
||||||
.member_setup .list li a span {
|
#sidebar .list li a span {
|
||||||
background:url(<%= asset_path "add_mamber.png" %>) left top no-repeat;
|
background:url(<%= asset_path "add_mamber.png" %>) left top no-repeat;
|
||||||
text-shadow: 0px 1px 0px #000;
|
text-shadow: 0px 1px 0px #000;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
padding: 2px 0 1px 35px;
|
padding: 2px 0 1px 35px;
|
||||||
}
|
}
|
||||||
.member_setup .list li a:hover span {
|
#sidebar .list li a:hover span {
|
||||||
background-position:left bottom;
|
background-position:left bottom;
|
||||||
color:#eeeeee;
|
color:#eeeeee;
|
||||||
}
|
}
|
||||||
|
@ -210,6 +211,7 @@ h1 {
|
||||||
background-position:left bottom;
|
background-position:left bottom;
|
||||||
color:#eeeeee;
|
color:#eeeeee;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
.main {
|
.main {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin-left: 260px;
|
margin-left: 260px;
|
||||||
|
@ -262,7 +264,7 @@ h1 {
|
||||||
background:-moz-linear-gradient( center top, #000000 5%, #4f4f4f 100% );
|
background:-moz-linear-gradient( center top, #000000 5%, #4f4f4f 100% );
|
||||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#4f4f4f');
|
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#4f4f4f');
|
||||||
}
|
}
|
||||||
.button_bar a:last-child {
|
.button_bar a:last-child, .button_bar input {
|
||||||
border-right:none;
|
border-right:none;
|
||||||
-moz-box-shadow:none;
|
-moz-box-shadow:none;
|
||||||
-webkit-box-shadow:none;
|
-webkit-box-shadow:none;
|
||||||
|
@ -285,6 +287,30 @@ h1 {
|
||||||
.button_bar a:hover {
|
.button_bar a:hover {
|
||||||
color:#FFFFFF;
|
color:#FFFFFF;
|
||||||
}
|
}
|
||||||
|
.button_bar input {
|
||||||
|
background-color:transparent;
|
||||||
|
text-decoration:none;
|
||||||
|
text-shadow:0px -1px 0px #000000;
|
||||||
|
font-size:12px;
|
||||||
|
color:#EDEDED;
|
||||||
|
border-right:1px solid #555;
|
||||||
|
border-top:none;
|
||||||
|
border-left:none;
|
||||||
|
border-bottom:none;
|
||||||
|
-moz-box-shadow:1px 0px 0px black;
|
||||||
|
-webkit-box-shadow:1px 0px 0px black;
|
||||||
|
box-shadow:1px 0px 0px black;
|
||||||
|
padding: 3px 10px 1px;
|
||||||
|
display: inline-block;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.button_bar input:focus {
|
||||||
|
padding: 4px 10px 0px !important;
|
||||||
|
text-shadow:0px 1px 0px #000000;
|
||||||
|
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #000000), color-stop(1, #4f4f4f) );
|
||||||
|
background:-moz-linear-gradient( center top, #000000 5%, #4f4f4f 100% );
|
||||||
|
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#4f4f4f');
|
||||||
|
}
|
||||||
.up {
|
.up {
|
||||||
margin:10px 0;
|
margin:10px 0;
|
||||||
}
|
}
|
||||||
|
@ -413,19 +439,44 @@ h1 {
|
||||||
.main table {
|
.main table {
|
||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.main th {
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
.main td {
|
.main td {
|
||||||
padding-left:20px;
|
padding-left:20px;
|
||||||
color:#fff;
|
color:#fff;
|
||||||
font-size:14px;
|
font-size:14px;
|
||||||
line-height:40px;
|
line-height:20px;
|
||||||
|
}
|
||||||
|
.main tr.have td{
|
||||||
|
background: url(<%= asset_path "75.png" %>) repeat left top;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
padding-top: 10px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.main tr.have td:first-child{
|
||||||
|
border-radius: 5px 0 0 5px;
|
||||||
|
-moz-border-radius: 5px 0 0 5px;
|
||||||
|
-webkit-border-radius: 5px 0 0 5px;
|
||||||
|
}
|
||||||
|
.main tr.have td:last-child{
|
||||||
|
border-radius: 0 5px 5px 0;
|
||||||
|
-moz-border-radius: 0 5px 5px 0;
|
||||||
|
-webkit-border-radius: 0 5px 5px 0;
|
||||||
}
|
}
|
||||||
.main thead td {
|
.main thead td {
|
||||||
line-height:40px;
|
line-height:40px;
|
||||||
font-size:16px;
|
font-size:16px;
|
||||||
text-shadow: 0px 1px 1px #3e2914;
|
text-shadow: 0px 1px 1px #3e2914;
|
||||||
}
|
}
|
||||||
|
.main thead th {
|
||||||
|
line-height:40px;
|
||||||
|
font-size:16px;
|
||||||
|
text-shadow: 0px 1px 1px #3e2914;
|
||||||
|
}
|
||||||
.main thead td.action {
|
.main thead td.action {
|
||||||
width:15%
|
width:140px;
|
||||||
}
|
}
|
||||||
.main tbody td.roles {
|
.main tbody td.roles {
|
||||||
background-image: url(<%= asset_path "roles_type.jpg" %>);
|
background-image: url(<%= asset_path "roles_type.jpg" %>);
|
||||||
|
@ -442,7 +493,7 @@ h1 {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 19px;
|
height: 19px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
top: 8px;
|
outline:none;
|
||||||
text-indent: -9999px;
|
text-indent: -9999px;
|
||||||
width: 19px;
|
width: 19px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -465,6 +516,12 @@ h1 {
|
||||||
.main tbody td.action a.delete:hover {
|
.main tbody td.action a.delete:hover {
|
||||||
background-position: -38px -19px;
|
background-position: -38px -19px;
|
||||||
}
|
}
|
||||||
|
.main tbody td.action a.download {
|
||||||
|
background-position: -74px top;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.download:hover {
|
||||||
|
background-position: -74px -19px;
|
||||||
|
}
|
||||||
.main tbody td.action a.switch {
|
.main tbody td.action a.switch {
|
||||||
background: url(<%= asset_path "switch.png" %>) no-repeat left 3px;
|
background: url(<%= asset_path "switch.png" %>) no-repeat left 3px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
|
@ -476,10 +533,6 @@ h1 {
|
||||||
background-position: -38px -19px;
|
background-position: -38px -19px;
|
||||||
}
|
}
|
||||||
.main tbody tr.have {
|
.main tbody tr.have {
|
||||||
background: url(<%= asset_path "75.png" %>) repeat left top;
|
|
||||||
-moz-box-shadow: 0px 0px 6px #291508; /* Firefox */
|
|
||||||
-webkit-box-shadow: 0px 0px 6px #291508;/* Safari 和 Chrome */
|
|
||||||
box-shadow: 0px 0px 6px #291508; /* Opera 10.5 + */
|
|
||||||
}
|
}
|
||||||
.main tbody tr.disable {
|
.main tbody tr.disable {
|
||||||
opacity: 0.7;
|
opacity: 0.7;
|
||||||
|
@ -488,3 +541,15 @@ h1 {
|
||||||
background:none;
|
background:none;
|
||||||
height:15px;
|
height:15px;
|
||||||
}
|
}
|
||||||
|
.main tbody tr.have .assets_pic {
|
||||||
|
height: 40px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 40px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.main tbody tr.have .assets_pic img {
|
||||||
|
left: -15%;
|
||||||
|
position: absolute;
|
||||||
|
top: -15%;
|
||||||
|
width: 130%;
|
||||||
|
}
|
|
@ -0,0 +1,85 @@
|
||||||
|
|
||||||
|
#sidebar {
|
||||||
|
background: url(<%= asset_path "75.png" %>) repeat scroll left top transparent;
|
||||||
|
box-shadow: 3px 0 4px #472A12;
|
||||||
|
border-right: 1px solid #121212;
|
||||||
|
height: 100%;
|
||||||
|
left: 0;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: 220px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar h1 {
|
||||||
|
background: url(<%= asset_path "h1_bg.png" %>) repeat-x scroll left top transparent;
|
||||||
|
border-bottom: 1px solid #1B1B1B;
|
||||||
|
border-top: 1px solid #424344;
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: normal;
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
margin: 0;
|
||||||
|
padding-left: 10px;
|
||||||
|
text-shadow: 0 -1px 0 #000000;
|
||||||
|
}
|
||||||
|
#sidebar .list {
|
||||||
|
color:#fff;
|
||||||
|
font-size:12px;
|
||||||
|
background:url(<%= asset_path "line.png" %>) repeat-x left bottom;
|
||||||
|
}
|
||||||
|
#sidebar .list li {
|
||||||
|
background:url(<%= asset_path "sidebar_li.jpg" %>) repeat-x left top;
|
||||||
|
border-top:1px solid #424344;
|
||||||
|
border-bottom:1px solid #000000;
|
||||||
|
}
|
||||||
|
#sidebar .list li:hover {
|
||||||
|
background-position:left bottom;
|
||||||
|
border-top:1px solid #406cc3;
|
||||||
|
border-bottom:1px solid #242628;
|
||||||
|
}
|
||||||
|
#sidebar .list li a {
|
||||||
|
display: block;
|
||||||
|
padding: 7px 0 6px 12px;
|
||||||
|
color:#c4c4c4;
|
||||||
|
}
|
||||||
|
#sidebar .list li a span {
|
||||||
|
background:url(<%= asset_path "add_mamber.png" %>) left top no-repeat;
|
||||||
|
text-shadow: 0px 1px 0px #000;
|
||||||
|
line-height: 18px;
|
||||||
|
padding: 2px 0 1px 35px;
|
||||||
|
}
|
||||||
|
#sidebar .list li a:hover span {
|
||||||
|
background-position:left bottom;
|
||||||
|
color:#eeeeee;
|
||||||
|
}
|
||||||
|
#sidebar .users .list .set_1 {
|
||||||
|
background-position:left bottom;
|
||||||
|
border-top:1px solid #406cc3;
|
||||||
|
border-bottom:1px solid #242628;
|
||||||
|
}
|
||||||
|
#sidebar .users .list .set_1 a span {
|
||||||
|
background-position:left bottom;
|
||||||
|
color:#eeeeee;
|
||||||
|
}
|
||||||
|
#sidebar .roles .list .set_2 {
|
||||||
|
background-position:left bottom;
|
||||||
|
border-top:1px solid #406cc3;
|
||||||
|
border-bottom:1px solid #242628;
|
||||||
|
}
|
||||||
|
#sidebar .roles .list .set_2 a span {
|
||||||
|
background-position:left bottom;
|
||||||
|
color:#eeeeee;
|
||||||
|
}
|
||||||
|
#sidebar .infos .list .set_3 {
|
||||||
|
background-position:left bottom;
|
||||||
|
border-top:1px solid #406cc3;
|
||||||
|
border-bottom:1px solid #242628;
|
||||||
|
}
|
||||||
|
#sidebar .infos .list .set_3 a span {
|
||||||
|
background-position:left bottom;
|
||||||
|
color:#eeeeee;
|
||||||
|
}
|
||||||
|
#sidebar .translations_setup {
|
||||||
|
margin-top: 42px;
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
.assets_setup{
|
||||||
|
padding:42px 0 0 0;
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
.designs_setup{
|
||||||
|
padding:42px 0 0 0;
|
||||||
|
}
|
||||||
|
.main2{
|
||||||
|
padding:70px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#sidebar .list li a span {
|
||||||
|
background:none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1{
|
||||||
|
color:#fff;
|
||||||
|
margin:0 0 20px;
|
||||||
|
}
|
||||||
|
form p{
|
||||||
|
margin:0 0 10px;
|
||||||
|
}
|
||||||
|
form label{
|
||||||
|
color: #FFFFFF;
|
||||||
|
display: block;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
|
@ -1,229 +0,0 @@
|
||||||
html, body{
|
|
||||||
height: 100%;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
html{
|
|
||||||
background: url(<%= asset_path "body.jpg" %>) no-repeat scroll 0 0 transparent;
|
|
||||||
background-size: cover;
|
|
||||||
}
|
|
||||||
body{
|
|
||||||
color: #000000;
|
|
||||||
font-family: helvetica,arial,sans-serif;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#panel_banner_link{
|
|
||||||
background: url(<%= asset_path "orbitbar1.png" %>) repeat-x scroll 0 0;
|
|
||||||
height: 52px;
|
|
||||||
left: 0;
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.hmenu{
|
|
||||||
height: 40px;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 1px;
|
|
||||||
width: 250px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#orbit{
|
|
||||||
background: url(<%= asset_path "bar_orbit.png" %>) no-repeat scroll 0 0 transparent;
|
|
||||||
cursor:pointer;
|
|
||||||
height: 43px;
|
|
||||||
left: 10px;
|
|
||||||
position: relative;
|
|
||||||
width: 41px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#orbit:hover{
|
|
||||||
background-position:0 -43px;
|
|
||||||
box-shadow: 0 3px 3px #000000;
|
|
||||||
}
|
|
||||||
#orbit:hover #orblist{
|
|
||||||
display:block;
|
|
||||||
}
|
|
||||||
#orblist{
|
|
||||||
background: none repeat scroll 0 0 #FFFFFF;
|
|
||||||
border-radius: 0 3px 3px 3px;
|
|
||||||
box-shadow: 0 3px 3px #000000;
|
|
||||||
display: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 10px;
|
|
||||||
position: absolute;
|
|
||||||
top: 43px;
|
|
||||||
width: 130px;
|
|
||||||
z-index:10;
|
|
||||||
}
|
|
||||||
#orblist li{
|
|
||||||
border-bottom:1px solid #aaa;
|
|
||||||
list-style:none;
|
|
||||||
}
|
|
||||||
.orblink{
|
|
||||||
color: #333333;
|
|
||||||
display: block;
|
|
||||||
font: 12px/100% arial,sans-serif;
|
|
||||||
padding: 5px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.orblink:hover{
|
|
||||||
background:#eee;
|
|
||||||
color:#333;
|
|
||||||
}
|
|
||||||
|
|
||||||
#log_out a{
|
|
||||||
background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right 0 transparent;
|
|
||||||
border: medium none !important;
|
|
||||||
display: block !important;
|
|
||||||
height: 40px !important;
|
|
||||||
line-height: normal !important;
|
|
||||||
padding: 0 !important;
|
|
||||||
position: absolute;
|
|
||||||
right: 0px;
|
|
||||||
text-indent: -10000px;
|
|
||||||
top: 0px;
|
|
||||||
width: 43px !important;
|
|
||||||
}
|
|
||||||
#log_out a:hover{
|
|
||||||
background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right bottom transparent !important;
|
|
||||||
}
|
|
||||||
.lang{
|
|
||||||
color: #FFFFFF;
|
|
||||||
font-size: 15px;
|
|
||||||
line-height: 40px;
|
|
||||||
position: absolute;
|
|
||||||
right: 55px;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lang a{
|
|
||||||
color:#fff;
|
|
||||||
text-decoration:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lang a:hover{
|
|
||||||
text-decoration:underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
#panel_container{
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#panel_container h1{
|
|
||||||
font: 28px/100% helvetica,arial,sans-serif;
|
|
||||||
margin: 0 0 20px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#panel_header{
|
|
||||||
background: none repeat scroll 0 0 #F1F1F1;
|
|
||||||
border-bottom: 1px solid #818181;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
#panel_header:after {
|
|
||||||
content: ".";
|
|
||||||
display: block;
|
|
||||||
height: 0;
|
|
||||||
clear: both;
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
#panel_header #panel_nav{
|
|
||||||
margin:0;
|
|
||||||
padding:0;
|
|
||||||
width:100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#panel_header #panel_nav li{
|
|
||||||
float: left;
|
|
||||||
list-style: none outside none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#panel_header #panel_nav li a{
|
|
||||||
background: none repeat scroll 0 0 #fff;
|
|
||||||
border-radius: 13px 13px 13px 13px;
|
|
||||||
border: 1px solid #D6D6D6;
|
|
||||||
color: #000000;
|
|
||||||
float: left;
|
|
||||||
font-size:15px;
|
|
||||||
margin: 0 20px 0 0;
|
|
||||||
padding: 5px 10px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#panel_header #panel_nav li a:hover{
|
|
||||||
background: none repeat scroll 0 0 #818181;
|
|
||||||
border-radius: 13px 13px 13px 13px;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#panel_content{
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#panel_sidebar2{
|
|
||||||
background: none repeat scroll 0 0 rgba(0, 0, 0, 0.75);
|
|
||||||
box-shadow: 3px 0 3px #000000;
|
|
||||||
float: left;
|
|
||||||
height: 100%;
|
|
||||||
width: 16%;
|
|
||||||
}
|
|
||||||
#panel_sidebar{
|
|
||||||
padding: 62px 0 0;
|
|
||||||
}
|
|
||||||
#panel_sidebar ul{
|
|
||||||
background: none repeat scroll 0 0 #13547C;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0 0 0 10px;
|
|
||||||
}
|
|
||||||
#panel_sidebar ul li{
|
|
||||||
background: none repeat scroll 0 0 #13547C;
|
|
||||||
border-top: 1px solid #145B87;
|
|
||||||
color: #FFFFFF;
|
|
||||||
font-size: 11px;
|
|
||||||
line-height: 29px;
|
|
||||||
list-style: none outside none;
|
|
||||||
}
|
|
||||||
#panel_sidebar li ul{
|
|
||||||
}
|
|
||||||
#panel_sidebar li ul ul{
|
|
||||||
}
|
|
||||||
#panel_sidebar a{
|
|
||||||
color: #FFFFFF;
|
|
||||||
font-size: 11px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
#panel_sidebar a:hover{}
|
|
||||||
#panel_main2{
|
|
||||||
background:#fff;
|
|
||||||
float: left;
|
|
||||||
height: 100%;
|
|
||||||
padding: 0 1%;
|
|
||||||
width: 82%;
|
|
||||||
}
|
|
||||||
#panel_main{
|
|
||||||
padding: 62px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#panel_main p label{
|
|
||||||
display: block;
|
|
||||||
padding: 3px;
|
|
||||||
}
|
|
||||||
#panel_main .translation_missing{
|
|
||||||
float: left;
|
|
||||||
padding: 3px;
|
|
||||||
width: 100px;
|
|
||||||
|
|
||||||
}
|
|
||||||
.text{
|
|
||||||
border: 1px solid #818181;
|
|
||||||
border-radius: 3px 3px 3px 3px;
|
|
||||||
font: 12px/100% helvetica,arial,sans-serif;
|
|
||||||
padding: 3px;
|
|
||||||
width: 205px;
|
|
||||||
}
|
|
|
@ -2,7 +2,9 @@
|
||||||
*This is a manifest file that'll automatically include all the stylesheets available in this directory
|
*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
|
*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.
|
*the top of the compiled file, but it's generally better to create a new file per style scope.
|
||||||
|
*= require reset
|
||||||
*= require_self
|
*= require_self
|
||||||
*= require message
|
*= require message
|
||||||
*= require site_edition
|
*= require site_items
|
||||||
|
*= require sidebar
|
||||||
*/
|
*/
|
|
@ -0,0 +1,445 @@
|
||||||
|
html, body{
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
html{
|
||||||
|
background: url(<%= asset_path "body.jpg" %>) no-repeat fixed 0 0 transparent;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
body{
|
||||||
|
color: #000000;
|
||||||
|
font-family: Helvetica, '微軟正黑體';
|
||||||
|
}
|
||||||
|
#panel_banner_link{
|
||||||
|
background: url(<%= asset_path "orbitbar1.png" %>) repeat-x scroll 0 0;
|
||||||
|
height: 50px;
|
||||||
|
left: 0;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
.hmenu{
|
||||||
|
height: 40px;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 1px;
|
||||||
|
width: 250px;
|
||||||
|
}
|
||||||
|
#orbit{
|
||||||
|
background: url(<%= asset_path "bar_orbit.png" %>) no-repeat scroll 0 0 transparent;
|
||||||
|
cursor:pointer;
|
||||||
|
height: 43px;
|
||||||
|
left: 10px;
|
||||||
|
position: relative;
|
||||||
|
width: 41px;
|
||||||
|
}
|
||||||
|
#orbit:hover{
|
||||||
|
background-position:0 -43px;
|
||||||
|
box-shadow: 0 3px 3px #000000;
|
||||||
|
}
|
||||||
|
#orbit:hover #orblist{
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
#orblist{
|
||||||
|
background: none repeat scroll 0 0 #FFFFFF;
|
||||||
|
border-radius: 0 3px 3px 3px;
|
||||||
|
box-shadow: 0 3px 3px #000000;
|
||||||
|
display: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 10px;
|
||||||
|
position: absolute;
|
||||||
|
top: 43px;
|
||||||
|
width: 130px;
|
||||||
|
}
|
||||||
|
#orblist li{
|
||||||
|
border-bottom:1px solid #aaa;
|
||||||
|
list-style:none;
|
||||||
|
}
|
||||||
|
.orblink{
|
||||||
|
color: #333333;
|
||||||
|
display: block;
|
||||||
|
font: 12px/100% arial,sans-serif;
|
||||||
|
padding: 5px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.orblink:hover{
|
||||||
|
background:#eee;
|
||||||
|
color:#333;
|
||||||
|
}
|
||||||
|
|
||||||
|
#log_out a{
|
||||||
|
background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right 0 transparent;
|
||||||
|
border: medium none !important;
|
||||||
|
display: block !important;
|
||||||
|
height: 40px !important;
|
||||||
|
line-height: normal !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
position: absolute;
|
||||||
|
right: 0px;
|
||||||
|
text-indent: -10000px;
|
||||||
|
top: 0px;
|
||||||
|
width: 43px !important;
|
||||||
|
}
|
||||||
|
#log_out a:hover{
|
||||||
|
background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right bottom transparent !important;
|
||||||
|
}
|
||||||
|
.lang{
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 40px;
|
||||||
|
position: absolute;
|
||||||
|
right: 55px;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.lang a{
|
||||||
|
color:#fff;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
.lang a:hover{
|
||||||
|
text-decoration:underline;
|
||||||
|
}
|
||||||
|
#content{
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
#panel_footer{
|
||||||
|
background-color: #101010;
|
||||||
|
bottom: 0;
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 11px;
|
||||||
|
padding: 10px;
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
left: 0;
|
||||||
|
box-shadow: 0 -3px 4px #000;
|
||||||
|
}
|
||||||
|
.items_setup{
|
||||||
|
padding:42px 0 0 0;
|
||||||
|
}
|
||||||
|
#sidebar .items_setup .list li{
|
||||||
|
padding: 6px 0 7px 5px;
|
||||||
|
}
|
||||||
|
#sidebar .items_setup .list li a{
|
||||||
|
display: inline;
|
||||||
|
font-size: 0.9em;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
#sidebar .items_setup .list li a span{
|
||||||
|
background:none;
|
||||||
|
padding:0;
|
||||||
|
text-shadow:none;
|
||||||
|
}
|
||||||
|
.main {
|
||||||
|
background: none repeat scroll 0 0 #FFFFFF;
|
||||||
|
height: 100%;
|
||||||
|
margin-left: 220px;
|
||||||
|
padding: 0 40px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.main_list {
|
||||||
|
padding-top: 70px;
|
||||||
|
}
|
||||||
|
.main_list ul {
|
||||||
|
clear:both;
|
||||||
|
}
|
||||||
|
#porfile {
|
||||||
|
padding-top: 100px;
|
||||||
|
}
|
||||||
|
/*add_buttom*/
|
||||||
|
.button_bar {
|
||||||
|
float: right;
|
||||||
|
-moz-box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black;
|
||||||
|
-webkit-box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black;
|
||||||
|
box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black;
|
||||||
|
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #4f4f4f), color-stop(1, #000000) );
|
||||||
|
background:-moz-linear-gradient( center top, #4f4f4f 5%, #000000 100% );
|
||||||
|
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4f4f4f', endColorstr='#000000');
|
||||||
|
background-color:#4f4f4f;
|
||||||
|
-moz-border-radius:5px;
|
||||||
|
-webkit-border-radius:5px;
|
||||||
|
border-radius:5px;
|
||||||
|
display:inline-block;
|
||||||
|
padding:0;
|
||||||
|
margin:10px 0 60px;
|
||||||
|
}
|
||||||
|
.button_bar a {
|
||||||
|
text-decoration:none;
|
||||||
|
text-shadow:0px -1px 0px #000000;
|
||||||
|
font-size:12px;
|
||||||
|
color:#EDEDED;
|
||||||
|
border-right:1px solid #555;
|
||||||
|
-moz-box-shadow:1px 0px 0px black;
|
||||||
|
-webkit-box-shadow:1px 0px 0px black;
|
||||||
|
box-shadow:1px 0px 0px black;
|
||||||
|
padding: 6px 10px 4px;
|
||||||
|
display: inline-block;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.button_bar a:active {
|
||||||
|
padding: 7px 10px 3px !important;
|
||||||
|
text-shadow:0px 1px 0px #000000;
|
||||||
|
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #000000), color-stop(1, #4f4f4f) );
|
||||||
|
background:-moz-linear-gradient( center top, #000000 5%, #4f4f4f 100% );
|
||||||
|
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#4f4f4f');
|
||||||
|
}
|
||||||
|
.button_bar a:last-child {
|
||||||
|
border-right:none;
|
||||||
|
-moz-box-shadow:none;
|
||||||
|
-webkit-box-shadow:none;
|
||||||
|
box-shadow:none;
|
||||||
|
-moz-border-radius:0px 5px 5px 0px;
|
||||||
|
-webkit-border-radius:0px 5px 5px 0px;
|
||||||
|
border-radius:0px 5px 5px 0px;
|
||||||
|
}
|
||||||
|
.button_bar a:first-child {
|
||||||
|
-moz-border-radius:5px 0px 0px 5px;
|
||||||
|
-webkit-border-radius:5px 0px 0px 5px;
|
||||||
|
border-radius:5px 0px 0px 5px;
|
||||||
|
}
|
||||||
|
.button_bar a.new {
|
||||||
|
padding: 5px 10px;
|
||||||
|
-moz-border-radius:5px;
|
||||||
|
-webkit-border-radius:5px;
|
||||||
|
border-radius:5px;
|
||||||
|
}
|
||||||
|
.button_bar a:hover {
|
||||||
|
color:#FFFFFF;
|
||||||
|
}
|
||||||
|
.up {
|
||||||
|
margin:10px 0;
|
||||||
|
}
|
||||||
|
#person {
|
||||||
|
left: 245px;
|
||||||
|
position: fixed;
|
||||||
|
text-align: center;
|
||||||
|
top: 75px;
|
||||||
|
width: 140px;
|
||||||
|
background-color:#FFF;
|
||||||
|
padding:15px;
|
||||||
|
border-radius: 5px;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
-moz-box-shadow: 0px 0px 4px #180902; /* Firefox */
|
||||||
|
-webkit-box-shadow: 0px 0px 4px #180902;/* Safari 和 Chrome */
|
||||||
|
box-shadow: 0px 0px 4px #180902; /* Opera 10.5 + */
|
||||||
|
}
|
||||||
|
#file {
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
#person img {
|
||||||
|
}
|
||||||
|
.user_mail {
|
||||||
|
border: medium none;
|
||||||
|
border:1px solid #DDDDDD;
|
||||||
|
color: #666666;
|
||||||
|
font-size: 12px;
|
||||||
|
width: 140px;
|
||||||
|
}
|
||||||
|
#person label {
|
||||||
|
display: block;
|
||||||
|
margin: 15px 0 0;
|
||||||
|
}
|
||||||
|
#person label input {
|
||||||
|
}
|
||||||
|
#person label #user_admin {
|
||||||
|
float:right;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
#person label span {
|
||||||
|
text-align:left;
|
||||||
|
font-size:11px;
|
||||||
|
color:#888;
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
#person select {
|
||||||
|
border: 1px solid #DDDDDD;
|
||||||
|
padding: 0;
|
||||||
|
width: 140px;
|
||||||
|
}
|
||||||
|
#porfile .users{
|
||||||
|
margin-left: 180px;
|
||||||
|
}
|
||||||
|
.roles_block {
|
||||||
|
background: url(<%= asset_path "75.png" %>) repeat left top;
|
||||||
|
min-width:710px;
|
||||||
|
margin-bottom:50px;
|
||||||
|
position:relative;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
border-radius: 5px;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
-moz-box-shadow: 0px 0px 4px #180902; /* Firefox */
|
||||||
|
-webkit-box-shadow: 0px 0px 4px #180902;/* Safari 和 Chrome */
|
||||||
|
box-shadow: 0px 0px 4px #180902; /* Opera 10.5 + */
|
||||||
|
}
|
||||||
|
.roles_block h2 {
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
position: absolute;
|
||||||
|
text-shadow: 0 3px 2px #000000;
|
||||||
|
top: -30px;
|
||||||
|
}
|
||||||
|
.main hr {
|
||||||
|
height:8px;
|
||||||
|
border:none;
|
||||||
|
margin:0;
|
||||||
|
border-radius: 5px 5px 0px 0px;
|
||||||
|
-moz-border-radius: 5px 5px 0px 0px;
|
||||||
|
-webkit-border-radius: 5px 5px 0px 0px;
|
||||||
|
border-bottom:1px solid #000;
|
||||||
|
}
|
||||||
|
.main2{
|
||||||
|
padding:70px 0 0;
|
||||||
|
}
|
||||||
|
#basic_block hr {
|
||||||
|
background-color: #666666;
|
||||||
|
}
|
||||||
|
#teacher_block hr {
|
||||||
|
background-color: #0071A9;
|
||||||
|
}
|
||||||
|
#student_block hr {
|
||||||
|
background-color: #AF0045;
|
||||||
|
}
|
||||||
|
.info_input {
|
||||||
|
padding:10px 20px;
|
||||||
|
}
|
||||||
|
.info_input table {
|
||||||
|
color:#fff;
|
||||||
|
width:100%;
|
||||||
|
font-size:14px;
|
||||||
|
}
|
||||||
|
.info_input table td {
|
||||||
|
padding:5px 10px 5px 0;
|
||||||
|
width: 10%;
|
||||||
|
}
|
||||||
|
.info_input .list_head {
|
||||||
|
background:url(<%= asset_path "line.png" %>) left bottom repeat-x;
|
||||||
|
}
|
||||||
|
.info_input .list_head td {
|
||||||
|
}
|
||||||
|
.info_input .list_item {
|
||||||
|
color:#AEAEAE;
|
||||||
|
}
|
||||||
|
.info_input .add {
|
||||||
|
display:block;
|
||||||
|
padding-left:22px;
|
||||||
|
font-size:12px;
|
||||||
|
line-height:21px;
|
||||||
|
height:19px;
|
||||||
|
background:url(<%= asset_path "icon.png" %>) no-repeat -59px 0;
|
||||||
|
margin-top: 10px;
|
||||||
|
color: #DDDDDD;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main table {
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
.main td {
|
||||||
|
padding-left:20px;
|
||||||
|
color:#fff;
|
||||||
|
font-size:14px;
|
||||||
|
line-height:40px;
|
||||||
|
}
|
||||||
|
.main tr.have td{
|
||||||
|
background: url(<%= asset_path "75.png" %>) repeat left top;
|
||||||
|
}
|
||||||
|
.main tr.have td:first-child{
|
||||||
|
border-radius: 5px 0 0 5px;
|
||||||
|
-moz-border-radius: 5px 0 0 5px;
|
||||||
|
-webkit-border-radius: 5px 0 0 5px;
|
||||||
|
}
|
||||||
|
.main tr.have td:last-child{
|
||||||
|
border-radius: 0 5px 5px 0;
|
||||||
|
-moz-border-radius: 0 5px 5px 0;
|
||||||
|
-webkit-border-radius: 0 5px 5px 0;
|
||||||
|
}
|
||||||
|
.main thead td {
|
||||||
|
line-height:40px;
|
||||||
|
font-size:16px;
|
||||||
|
text-shadow: 0px 1px 1px #3e2914;
|
||||||
|
}
|
||||||
|
.main thead td.action {
|
||||||
|
width:140px;
|
||||||
|
}
|
||||||
|
.main tbody td.roles {
|
||||||
|
background-image: url(<%= asset_path "roles_type.jpg" %>);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.main tbody td.teacher {
|
||||||
|
background-position: 0 -54px;
|
||||||
|
}
|
||||||
|
.main tbody td.student {
|
||||||
|
background-position: 0 -5px;
|
||||||
|
}
|
||||||
|
.main tbody td.action a {
|
||||||
|
background-image: url(<%= asset_path "icon.png" %>);
|
||||||
|
display: inline-block;
|
||||||
|
height: 19px;
|
||||||
|
margin-right: 10px;
|
||||||
|
top: 8px;
|
||||||
|
text-indent: -9999px;
|
||||||
|
width: 19px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.show {
|
||||||
|
background-position: left top;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.show:hover {
|
||||||
|
background-position: left -19px;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.edit {
|
||||||
|
background-position: -19px top;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.edit:hover {
|
||||||
|
background-position: -19px -19px;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.delete {
|
||||||
|
background-position: -38px top;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.delete:hover {
|
||||||
|
background-position: -38px -19px;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.switch {
|
||||||
|
background: url(<%= asset_path "switch.png" %>) no-repeat left 3px;
|
||||||
|
width: 40px;
|
||||||
|
}
|
||||||
|
.main tbody tr.disable td.action a.switch {
|
||||||
|
background-position:left bottom;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.delete:hover {
|
||||||
|
background-position: -38px -19px;
|
||||||
|
}
|
||||||
|
.main tbody tr.have {
|
||||||
|
}
|
||||||
|
.main tbody tr.disable {
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
.main tbody tr {
|
||||||
|
background:none;
|
||||||
|
height:15px;
|
||||||
|
}
|
||||||
|
h1{
|
||||||
|
margin:0 0 20px;
|
||||||
|
}
|
||||||
|
p{
|
||||||
|
margin:0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar .items_setup .list li{
|
||||||
|
background:url(<%= asset_path "sidebar_li2.jpg" %>) repeat left top;
|
||||||
|
border:none;
|
||||||
|
padding: 0 0 0 5px;
|
||||||
|
}
|
||||||
|
#sidebar .items_setup .list li a{
|
||||||
|
line-height:31px;
|
||||||
|
}
|
||||||
|
#sidebar .items_setup .list li:hover{
|
||||||
|
background:url(<%= asset_path "sidebar_li2.jpg" %>) repeat left top;
|
||||||
|
border:none;
|
||||||
|
}
|
||||||
|
#sidebar .items_setup ul .list {
|
||||||
|
}
|
|
@ -9,7 +9,7 @@ module Admin::ItemHelper
|
||||||
when 'Link'
|
when 'Link'
|
||||||
dest = admin_link_path(node)
|
dest = admin_link_path(node)
|
||||||
end
|
end
|
||||||
ret << "<ul>"
|
ret << "<ul class='list'>"
|
||||||
ret << "<li>"
|
ret << "<li>"
|
||||||
ret << (link_to node.name, dest)
|
ret << (link_to node.name, dest)
|
||||||
ret << ' | ' << (link_to t('admin.edit'), eval("edit_admin_#{node._type.downcase}_path(node)")) if node._type.eql?('Page')
|
ret << ' | ' << (link_to t('admin.edit'), eval("edit_admin_#{node._type.downcase}_path(node)")) if node._type.eql?('Page')
|
||||||
|
|
|
@ -0,0 +1,548 @@
|
||||||
|
html, body{
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
html{
|
||||||
|
background: url(<%= asset_path "body.jpg" %>) no-repeat fixed 0 0 transparent;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
body{
|
||||||
|
color: #000000;
|
||||||
|
font-family: Helvetica, '微軟正黑體';
|
||||||
|
}
|
||||||
|
|
||||||
|
#panel_banner_link{
|
||||||
|
background: url(<%= asset_path "orbitbar1.png" %>) repeat-x scroll 0 0;
|
||||||
|
height: 50px;
|
||||||
|
left: 0;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
.hmenu{
|
||||||
|
height: 40px;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 1px;
|
||||||
|
width: 250px;
|
||||||
|
}
|
||||||
|
#orbit{
|
||||||
|
background: url(<%= asset_path "bar_orbit.png" %>) no-repeat scroll 0 0 transparent;
|
||||||
|
cursor:pointer;
|
||||||
|
height: 43px;
|
||||||
|
left: 10px;
|
||||||
|
position: relative;
|
||||||
|
width: 41px;
|
||||||
|
}
|
||||||
|
#orbit:hover{
|
||||||
|
background-position:0 -43px;
|
||||||
|
box-shadow: 0 3px 3px #000000;
|
||||||
|
}
|
||||||
|
#orbit:hover #orblist{
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
#orblist{
|
||||||
|
background: none repeat scroll 0 0 #FFFFFF;
|
||||||
|
border-radius: 0 3px 3px 3px;
|
||||||
|
box-shadow: 0 3px 3px #000000;
|
||||||
|
display: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 10px;
|
||||||
|
position: absolute;
|
||||||
|
top: 43px;
|
||||||
|
width: 130px;
|
||||||
|
}
|
||||||
|
#orblist li{
|
||||||
|
border-bottom:1px solid #aaa;
|
||||||
|
list-style:none;
|
||||||
|
}
|
||||||
|
.orblink{
|
||||||
|
color: #333333;
|
||||||
|
display: block;
|
||||||
|
font: 12px/100% arial,sans-serif;
|
||||||
|
padding: 5px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.orblink:hover{
|
||||||
|
background:#eee;
|
||||||
|
color:#333;
|
||||||
|
}
|
||||||
|
|
||||||
|
#log_out a{
|
||||||
|
background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right 0 transparent;
|
||||||
|
border: medium none !important;
|
||||||
|
display: block !important;
|
||||||
|
height: 40px !important;
|
||||||
|
line-height: normal !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
position: absolute;
|
||||||
|
right: 0px;
|
||||||
|
text-indent: -10000px;
|
||||||
|
top: 0px;
|
||||||
|
width: 43px !important;
|
||||||
|
}
|
||||||
|
#log_out a:hover{
|
||||||
|
background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right bottom transparent !important;
|
||||||
|
}
|
||||||
|
.lang{
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 40px;
|
||||||
|
position: absolute;
|
||||||
|
right: 55px;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.lang a{
|
||||||
|
color:#fff;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
.lang a:hover{
|
||||||
|
text-decoration:underline;
|
||||||
|
}
|
||||||
|
#content{
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
#panel_footer{
|
||||||
|
background-color: #101010;
|
||||||
|
bottom: 0;
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 11px;
|
||||||
|
padding: 10px;
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
left: 0;
|
||||||
|
box-shadow: 0 -3px 4px #000;
|
||||||
|
}
|
||||||
|
#search {
|
||||||
|
background: url(<%= asset_path "search_block_bg.jpg" %>) repeat-x scroll left top transparent;
|
||||||
|
height: 20px;
|
||||||
|
margin-top: 43px;
|
||||||
|
padding: 15px 12px;
|
||||||
|
}
|
||||||
|
#search input {
|
||||||
|
background: url(<%= asset_path "search_bg.png" %>) no-repeat scroll left top transparent;
|
||||||
|
border: medium none;
|
||||||
|
font-family: Helvetica;
|
||||||
|
height: 20px;
|
||||||
|
padding: 0 20px;
|
||||||
|
width: 154px;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
#sidebar {
|
||||||
|
background: url(<%= asset_path "75.png" %>) repeat scroll left top transparent;
|
||||||
|
box-shadow: 3px 0 4px #472A12;
|
||||||
|
border-right: 1px solid #121212;
|
||||||
|
height: 100%;
|
||||||
|
left: 0;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: 220px;
|
||||||
|
}
|
||||||
|
#sidebar h1 {
|
||||||
|
background: url(<%= asset_path "h1_bg.png" %>) repeat-x scroll left top transparent;
|
||||||
|
border-bottom: 1px solid #1B1B1B;
|
||||||
|
border-top: 1px solid #424344;
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: normal;
|
||||||
|
height: 21px;
|
||||||
|
line-height: 21px;
|
||||||
|
margin: 0;
|
||||||
|
padding-left: 10px;
|
||||||
|
text-shadow: 0 -1px 0 #000000;
|
||||||
|
}
|
||||||
|
#sidebar .list {
|
||||||
|
color:#fff;
|
||||||
|
font-size:12px;
|
||||||
|
background:url(<%= asset_path "line.png" %>) repeat-x left bottom;
|
||||||
|
}
|
||||||
|
#sidebar .list li {
|
||||||
|
background:url(<%= asset_path "sidebar_li.jpg" %>) repeat-x left top;
|
||||||
|
border-top:1px solid #424344;
|
||||||
|
border-bottom:1px solid #000000;
|
||||||
|
}
|
||||||
|
#sidebar .list li:hover {
|
||||||
|
background-position:left bottom;
|
||||||
|
border-top:1px solid #406cc3;
|
||||||
|
border-bottom:1px solid #242628;
|
||||||
|
}
|
||||||
|
#sidebar .list li a {
|
||||||
|
display: block;
|
||||||
|
padding: 7px 0 6px 12px;
|
||||||
|
color:#c4c4c4;
|
||||||
|
}
|
||||||
|
#sidebar .list li a span {
|
||||||
|
background:url(<%= asset_path "add_mamber.png" %>) left top no-repeat;
|
||||||
|
text-shadow: 0px 1px 0px #000;
|
||||||
|
line-height: 18px;
|
||||||
|
padding: 2px 0 1px 35px;
|
||||||
|
}
|
||||||
|
#sidebar .list li a:hover span {
|
||||||
|
background-position:left bottom;
|
||||||
|
color:#eeeeee;
|
||||||
|
}
|
||||||
|
#sidebar .users .list .set_1 {
|
||||||
|
background-position:left bottom;
|
||||||
|
border-top:1px solid #406cc3;
|
||||||
|
border-bottom:1px solid #242628;
|
||||||
|
}
|
||||||
|
#sidebar .users .list .set_1 a span {
|
||||||
|
background-position:left bottom;
|
||||||
|
color:#eeeeee;
|
||||||
|
}
|
||||||
|
#sidebar .roles .list .set_2 {
|
||||||
|
background-position:left bottom;
|
||||||
|
border-top:1px solid #406cc3;
|
||||||
|
border-bottom:1px solid #242628;
|
||||||
|
}
|
||||||
|
#sidebar .roles .list .set_2 a span {
|
||||||
|
background-position:left bottom;
|
||||||
|
color:#eeeeee;
|
||||||
|
}
|
||||||
|
#sidebar .infos .list .set_3 {
|
||||||
|
background-position:left bottom;
|
||||||
|
border-top:1px solid #406cc3;
|
||||||
|
border-bottom:1px solid #242628;
|
||||||
|
}
|
||||||
|
#sidebar .infos .list .set_3 a span {
|
||||||
|
background-position:left bottom;
|
||||||
|
color:#eeeeee;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
.main {
|
||||||
|
height: 100%;
|
||||||
|
margin-left: 260px;
|
||||||
|
padding-right: 40px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.main_list {
|
||||||
|
padding-top: 70px;
|
||||||
|
}
|
||||||
|
.main_list ul {
|
||||||
|
clear:both;
|
||||||
|
}
|
||||||
|
#porfile {
|
||||||
|
padding-top: 100px;
|
||||||
|
}
|
||||||
|
/*add_buttom*/
|
||||||
|
.button_bar {
|
||||||
|
float: right;
|
||||||
|
-moz-box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black;
|
||||||
|
-webkit-box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black;
|
||||||
|
box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black;
|
||||||
|
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #4f4f4f), color-stop(1, #000000) );
|
||||||
|
background:-moz-linear-gradient( center top, #4f4f4f 5%, #000000 100% );
|
||||||
|
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4f4f4f', endColorstr='#000000');
|
||||||
|
background-color:#4f4f4f;
|
||||||
|
-moz-border-radius:5px;
|
||||||
|
-webkit-border-radius:5px;
|
||||||
|
border-radius:5px;
|
||||||
|
display:inline-block;
|
||||||
|
padding:0;
|
||||||
|
margin:10px 0 60px;
|
||||||
|
}
|
||||||
|
.button_bar a {
|
||||||
|
text-decoration:none;
|
||||||
|
text-shadow:0px -1px 0px #000000;
|
||||||
|
font-size:12px;
|
||||||
|
color:#EDEDED;
|
||||||
|
border-right:1px solid #555;
|
||||||
|
-moz-box-shadow:1px 0px 0px black;
|
||||||
|
-webkit-box-shadow:1px 0px 0px black;
|
||||||
|
box-shadow:1px 0px 0px black;
|
||||||
|
padding: 6px 10px 4px;
|
||||||
|
display: inline-block;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.button_bar a:active {
|
||||||
|
padding: 7px 10px 3px !important;
|
||||||
|
text-shadow:0px 1px 0px #000000;
|
||||||
|
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #000000), color-stop(1, #4f4f4f) );
|
||||||
|
background:-moz-linear-gradient( center top, #000000 5%, #4f4f4f 100% );
|
||||||
|
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#4f4f4f');
|
||||||
|
}
|
||||||
|
.button_bar a:last-child, .button_bar input {
|
||||||
|
border-right:none;
|
||||||
|
-moz-box-shadow:none;
|
||||||
|
-webkit-box-shadow:none;
|
||||||
|
box-shadow:none;
|
||||||
|
-moz-border-radius:0px 5px 5px 0px;
|
||||||
|
-webkit-border-radius:0px 5px 5px 0px;
|
||||||
|
border-radius:0px 5px 5px 0px;
|
||||||
|
}
|
||||||
|
.button_bar a:first-child {
|
||||||
|
-moz-border-radius:5px 0px 0px 5px;
|
||||||
|
-webkit-border-radius:5px 0px 0px 5px;
|
||||||
|
border-radius:5px 0px 0px 5px;
|
||||||
|
}
|
||||||
|
.button_bar a.new {
|
||||||
|
padding: 5px 10px;
|
||||||
|
-moz-border-radius:5px;
|
||||||
|
-webkit-border-radius:5px;
|
||||||
|
border-radius:5px;
|
||||||
|
}
|
||||||
|
.button_bar a:hover {
|
||||||
|
color:#FFFFFF;
|
||||||
|
}
|
||||||
|
.button_bar input {
|
||||||
|
background-color:transparent;
|
||||||
|
text-decoration:none;
|
||||||
|
text-shadow:0px -1px 0px #000000;
|
||||||
|
font-size:12px;
|
||||||
|
color:#EDEDED;
|
||||||
|
border-right:1px solid #555;
|
||||||
|
border-top:none;
|
||||||
|
border-left:none;
|
||||||
|
border-bottom:none;
|
||||||
|
-moz-box-shadow:1px 0px 0px black;
|
||||||
|
-webkit-box-shadow:1px 0px 0px black;
|
||||||
|
box-shadow:1px 0px 0px black;
|
||||||
|
padding: 3px 10px 1px;
|
||||||
|
display: inline-block;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.up {
|
||||||
|
margin:10px 0;
|
||||||
|
}
|
||||||
|
#person {
|
||||||
|
left: 245px;
|
||||||
|
position: fixed;
|
||||||
|
text-align: center;
|
||||||
|
top: 75px;
|
||||||
|
width: 140px;
|
||||||
|
background-color:#FFF;
|
||||||
|
padding:15px;
|
||||||
|
border-radius: 5px;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
-moz-box-shadow: 0px 0px 4px #180902; /* Firefox */
|
||||||
|
-webkit-box-shadow: 0px 0px 4px #180902;/* Safari 和 Chrome */
|
||||||
|
box-shadow: 0px 0px 4px #180902; /* Opera 10.5 + */
|
||||||
|
}
|
||||||
|
#file {
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
#person img {
|
||||||
|
}
|
||||||
|
.user_mail {
|
||||||
|
border: medium none;
|
||||||
|
border:1px solid #DDDDDD;
|
||||||
|
color: #666666;
|
||||||
|
font-size: 12px;
|
||||||
|
width: 140px;
|
||||||
|
}
|
||||||
|
#person label {
|
||||||
|
display: block;
|
||||||
|
margin: 15px 0 0;
|
||||||
|
}
|
||||||
|
#person label input {
|
||||||
|
}
|
||||||
|
#person label #user_admin {
|
||||||
|
float:right;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
#person label span {
|
||||||
|
text-align:left;
|
||||||
|
font-size:11px;
|
||||||
|
color:#888;
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
#person select {
|
||||||
|
border: 1px solid #DDDDDD;
|
||||||
|
padding: 0;
|
||||||
|
width: 140px;
|
||||||
|
}
|
||||||
|
#porfile .users{
|
||||||
|
margin-left: 180px;
|
||||||
|
}
|
||||||
|
.roles_block {
|
||||||
|
background: url(<%= asset_path "75.png" %>) repeat left top;
|
||||||
|
min-width:710px;
|
||||||
|
margin-bottom:50px;
|
||||||
|
position:relative;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
border-radius: 5px;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
-moz-box-shadow: 0px 0px 4px #180902; /* Firefox */
|
||||||
|
-webkit-box-shadow: 0px 0px 4px #180902;/* Safari 和 Chrome */
|
||||||
|
box-shadow: 0px 0px 4px #180902; /* Opera 10.5 + */
|
||||||
|
}
|
||||||
|
.roles_block h2 {
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
position: absolute;
|
||||||
|
text-shadow: 0 3px 2px #000000;
|
||||||
|
top: -30px;
|
||||||
|
}
|
||||||
|
.main hr {
|
||||||
|
height:8px;
|
||||||
|
border:none;
|
||||||
|
margin:0;
|
||||||
|
border-radius: 5px 5px 0px 0px;
|
||||||
|
-moz-border-radius: 5px 5px 0px 0px;
|
||||||
|
-webkit-border-radius: 5px 5px 0px 0px;
|
||||||
|
border-bottom:1px solid #000;
|
||||||
|
}
|
||||||
|
#basic_block hr {
|
||||||
|
background-color: #666666;
|
||||||
|
}
|
||||||
|
#teacher_block hr {
|
||||||
|
background-color: #0071A9;
|
||||||
|
}
|
||||||
|
#student_block hr {
|
||||||
|
background-color: #AF0045;
|
||||||
|
}
|
||||||
|
.info_input {
|
||||||
|
padding:10px 20px;
|
||||||
|
}
|
||||||
|
.info_input table {
|
||||||
|
color:#fff;
|
||||||
|
width:100%;
|
||||||
|
font-size:14px;
|
||||||
|
}
|
||||||
|
.info_input table td {
|
||||||
|
padding:5px 10px 5px 0;
|
||||||
|
width: 10%;
|
||||||
|
}
|
||||||
|
.info_input .list_head {
|
||||||
|
background:url(<%= asset_path "line.png" %>) left bottom repeat-x;
|
||||||
|
}
|
||||||
|
.info_input .list_head td {
|
||||||
|
}
|
||||||
|
.info_input .list_item {
|
||||||
|
color:#AEAEAE;
|
||||||
|
}
|
||||||
|
.info_input .add {
|
||||||
|
display:block;
|
||||||
|
padding-left:22px;
|
||||||
|
font-size:12px;
|
||||||
|
line-height:21px;
|
||||||
|
height:19px;
|
||||||
|
background:url(<%= asset_path "icon.png" %>) no-repeat -59px 0;
|
||||||
|
margin-top: 10px;
|
||||||
|
color: #DDDDDD;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main table {
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main th {
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
|
.main td {
|
||||||
|
padding-left:20px;
|
||||||
|
color:#fff;
|
||||||
|
font-size:14px;
|
||||||
|
line-height:20px;
|
||||||
|
}
|
||||||
|
.main tr.have td{
|
||||||
|
background: url(<%= asset_path "75.png" %>) repeat left top;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
padding-top: 10px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.main tr.have td:first-child{
|
||||||
|
border-radius: 5px 0 0 5px;
|
||||||
|
-moz-border-radius: 5px 0 0 5px;
|
||||||
|
-webkit-border-radius: 5px 0 0 5px;
|
||||||
|
}
|
||||||
|
.main tr.have td:last-child{
|
||||||
|
border-radius: 0 5px 5px 0;
|
||||||
|
-moz-border-radius: 0 5px 5px 0;
|
||||||
|
-webkit-border-radius: 0 5px 5px 0;
|
||||||
|
}
|
||||||
|
.main thead td {
|
||||||
|
line-height:40px;
|
||||||
|
font-size:16px;
|
||||||
|
text-shadow: 0px 1px 1px #3e2914;
|
||||||
|
}
|
||||||
|
.main thead th {
|
||||||
|
line-height:40px;
|
||||||
|
font-size:16px;
|
||||||
|
text-shadow: 0px 1px 1px #3e2914;
|
||||||
|
}
|
||||||
|
.main thead td.action {
|
||||||
|
width:140px;
|
||||||
|
}
|
||||||
|
.main tbody td.roles {
|
||||||
|
background-image: url(<%= asset_path "roles_type.jpg" %>);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.main tbody td.teacher {
|
||||||
|
background-position: 0 -54px;
|
||||||
|
}
|
||||||
|
.main tbody td.student {
|
||||||
|
background-position: 0 -5px;
|
||||||
|
}
|
||||||
|
.main tbody td.action a {
|
||||||
|
background-image: url(<%= asset_path "icon.png" %>);
|
||||||
|
display: inline-block;
|
||||||
|
height: 19px;
|
||||||
|
margin-right: 10px;
|
||||||
|
outline:none;
|
||||||
|
text-indent: -9999px;
|
||||||
|
width: 19px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.show {
|
||||||
|
background-position: left top;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.show:hover {
|
||||||
|
background-position: left -19px;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.edit {
|
||||||
|
background-position: -19px top;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.edit:hover {
|
||||||
|
background-position: -19px -19px;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.delete {
|
||||||
|
background-position: -38px top;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.delete:hover {
|
||||||
|
background-position: -38px -19px;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.download {
|
||||||
|
background-position: -74px top;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.download:hover {
|
||||||
|
background-position: -74px -19px;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.switch {
|
||||||
|
background: url(<%= asset_path "switch.png" %>) no-repeat left 3px;
|
||||||
|
width: 40px;
|
||||||
|
}
|
||||||
|
.main tbody tr.disable td.action a.switch {
|
||||||
|
background-position:left bottom;
|
||||||
|
}
|
||||||
|
.main tbody td.action a.delete:hover {
|
||||||
|
background-position: -38px -19px;
|
||||||
|
}
|
||||||
|
.main tbody tr.have {
|
||||||
|
}
|
||||||
|
.main tbody tr.disable {
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
.main tbody tr {
|
||||||
|
background:none;
|
||||||
|
height:15px;
|
||||||
|
}
|
||||||
|
.main tbody tr.have .assets_pic {
|
||||||
|
height: 40px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 40px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.main tbody tr.have .assets_pic img {
|
||||||
|
left: -15%;
|
||||||
|
position: absolute;
|
||||||
|
top: -15%;
|
||||||
|
width: 130%;
|
||||||
|
}
|
|
@ -1,10 +1,12 @@
|
||||||
<h1><%= t('editing_asset') %></h1>
|
<div class="main2">
|
||||||
|
<h1><%= t('editing_asset') %></h1>
|
||||||
|
|
||||||
<% form_for @asset, :url => admin_asset_path(@asset), :html => { :multipart => true } do |f| %>
|
<% form_for @asset, :url => admin_asset_path(@asset), :html => { :multipart => true } do |f| %>
|
||||||
<%= f.error_messages %>
|
<%= f.error_messages %>
|
||||||
<%= render :partial => "form", :locals => { :f => f } %>
|
<%= render :partial => "form", :locals => { :f => f } %>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<%= f.submit t('update') %> <%= link_back %>
|
<%= f.submit t('update') %> <%= link_back %>
|
||||||
</p>
|
</p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
</div>
|
|
@ -1,34 +1,44 @@
|
||||||
<% content_for :secondary do %>
|
<% content_for :secondary do %>
|
||||||
|
<div class="assets_setup">
|
||||||
<ul class="list">
|
<ul class="list">
|
||||||
<li><%= link_to t(:new_asset, :scope => :admin), new_admin_asset_path, :class => 'button positive' %></li>
|
<li><%= link_to t(:new_asset, :scope => :admin), new_admin_asset_path, :class => 'button positive' %></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
||||||
<h1><%= t('admin.list_assets') %></h1>
|
<div class="main2">
|
||||||
|
<h1><%= t('admin.list_assets') %></h1>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<thead>
|
||||||
<th><%= t('admin.id') %></th>
|
<tr>
|
||||||
<th><%= t('admin.file_name') %></th>
|
<td><%= t('admin.id') %></th>
|
||||||
<th><%= t('admin.description') %></th>
|
<td><%= t('admin.file_name') %></th>
|
||||||
<th><%= t('admin.format') %></th>
|
<td><%= t('admin.description') %></th>
|
||||||
<th><%= t('admin.orig_upload_file') %></th>
|
<td><%= t('admin.format') %></th>
|
||||||
<th><%= t('admin.file_size') %></th>
|
<td><%= t('admin.orig_upload_file') %></th>
|
||||||
<th><%= t('admin.action') %></th>
|
<td><%= t('admin.file_size') %></th>
|
||||||
</tr>
|
<td><%= t('admin.action') %></th>
|
||||||
|
</tr>
|
||||||
<% @assets.each do |asset| %>
|
</thead>
|
||||||
<tr>
|
<% @assets.each do |asset| %>
|
||||||
<td><%= asset.id %></td>
|
<tr class="have">
|
||||||
<td><%= link_to asset.filename, asset.data.url, :target => '_blank' %></td>
|
<td><%= asset.id %></td>
|
||||||
<td><%= asset.description %></td>
|
<td><div class="assets_pic"><%= image_tag(asset.data.url) %></div>
|
||||||
<td><%= asset.data.file.content_type %></td>
|
<%#= link_to asset.filename, asset.data.url, :target => '_blank' %>
|
||||||
<td><%= asset.data_filename %></td>
|
</td>
|
||||||
<td><%= number_to_human_size(asset.data.file.file_length) %></td>
|
<td><%= asset.description %></td>
|
||||||
<td>
|
<td><%= asset.data.file.content_type %></td>
|
||||||
<%= link_to t(:edit), edit_admin_asset_path(asset) %> |
|
<td><%= asset.data_filename %></td>
|
||||||
<%= link_to t(:delete), admin_asset_path(asset), :confirm => t('sure?'), :method => :delete %>
|
<td><%= number_to_human_size(asset.data.file.file_length) %></td>
|
||||||
</td>
|
<td class="action">
|
||||||
</tr>
|
<%= link_to t(:edit), edit_admin_asset_path(asset), :class => 'edit' %>
|
||||||
<% end %>
|
<%= link_to t(:delete), admin_asset_path(asset), :confirm => t('sure?'), :method => :delete, :class => 'delete' %>
|
||||||
</table>
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="5"></td>
|
||||||
|
</tr>
|
||||||
|
<% end %>
|
||||||
|
</table>
|
||||||
|
</div>
|
|
@ -1,10 +1,12 @@
|
||||||
<h1><%= t('admin.new_asset') %></h1>
|
<div class="main2">
|
||||||
|
<h1><%= t('admin.new_asset') %></h1>
|
||||||
|
|
||||||
<%= form_for :asset, :url => admin_assets_path, :html => { :multipart => true } do |f| %>
|
<%= form_for :asset, :url => admin_assets_path, :html => { :multipart => true } do |f| %>
|
||||||
<%= f.error_messages %>
|
<%= f.error_messages %>
|
||||||
<%= render :partial => "form", :locals => { :f => f } %>
|
<%= render :partial => "form", :locals => { :f => f } %>
|
||||||
|
<div class="button_bar">
|
||||||
<p>
|
<%= link_back %>
|
||||||
<%= f.submit t('create') %> <%= link_back %>
|
<%= f.submit t('create') %>
|
||||||
</p>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
</div>
|
|
@ -1,31 +1,37 @@
|
||||||
<% content_for :secondary do %>
|
<% content_for :secondary do %>
|
||||||
<ul class="list">
|
<div class="designs_setup">
|
||||||
<li><%= link_to t('admin.new_design'), new_admin_design_path, :class => 'seclink1' %></li>
|
<h1><%= t('admin.setup_designs') %></h1>
|
||||||
<li><%= link_to t('admin.upload_design'), upload_package_admin_designs_path, :class => 'seclink2' %></li>
|
<ul class="list">
|
||||||
</ul>
|
<li><%= link_to content_tag(:span, t('admin.new_design')), new_admin_design_path, :class => 'seclink1' %></li>
|
||||||
|
<li><%= link_to content_tag(:span, t('admin.upload_design')), upload_package_admin_designs_path, :class => 'seclink2' %></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
||||||
<%= flash_messages %>
|
<%= flash_messages %>
|
||||||
|
<div class="main2">
|
||||||
<h1><%= t('admin.list_designs') %></h1>
|
<h1><%= t('admin.list_designs') %></h1>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th><%= t('admin.title') %></th>
|
<td><%= t('admin.title') %></td>
|
||||||
<th><%= t('admin.author') %></th>
|
<td><%= t('admin.author') %></td>
|
||||||
<th><%= t('admin.intro') %></th>
|
<td><%= t('admin.intro') %></td>
|
||||||
<th><%= t('admin.action') %></th>
|
<td><%= t('admin.action') %></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
</thead>
|
||||||
<% @designs.each do |design| %>
|
<% @designs.each do |design| %>
|
||||||
<tr>
|
<tr class="have">
|
||||||
<td><%= design.title %></td>
|
<td><%= design.title %></td>
|
||||||
<td><%= design.author %></td>
|
<td><%= design.author %></td>
|
||||||
<td><%= design.intro %></td>
|
<td><%= design.intro %></td>
|
||||||
<td>
|
<td class="action">
|
||||||
<%= link_to t(:edit), edit_admin_design_path(design) %> |
|
<%= link_to t(:edit), edit_admin_design_path(design), :class => 'edit' %>
|
||||||
<%= link_to t(:delete), admin_design_path(design), :confirm => t('sure?'), :method => :delete %>
|
<%= link_to t(:delete), admin_design_path(design), :confirm => t('sure?'), :method => :delete, :class => 'delete' %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr></tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
|
@ -1,10 +1,13 @@
|
||||||
<h1><%= t('admin.new_design') %></h1>
|
<div class="main2">
|
||||||
|
<h1><%= t('admin.new_design') %></h1>
|
||||||
|
|
||||||
<%= form_for :design, :url => admin_designs_path do |f| %>
|
<%= form_for :design, :url => admin_designs_path do |f| %>
|
||||||
<%= f.error_messages %>
|
<%= f.error_messages %>
|
||||||
<%= render :partial => "form", :locals => { :f => f } %>
|
<%= render :partial => "form", :locals => { :f => f } %>
|
||||||
|
|
||||||
<p>
|
<div class="button_bar">
|
||||||
<%= f.submit t('create') %> <%= link_back %>
|
<%= link_back %>
|
||||||
</p>
|
<%= f.submit t('create') %>
|
||||||
<% end %>
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
|
@ -1,9 +1,11 @@
|
||||||
|
<div class="main2">
|
||||||
|
<%= form_tag '',:multipart => true,:action=>"post" do |f| %>
|
||||||
|
|
||||||
<%= form_tag '',:multipart => true,:action=>"post" do |f| %>
|
<p>
|
||||||
|
<%= file_field :design,:package_file %>
|
||||||
|
</p>
|
||||||
|
<%= submit_tag %>
|
||||||
|
|
||||||
<p>
|
<% end %>
|
||||||
<%= file_field :design,:package_file %>
|
|
||||||
</p>
|
|
||||||
<%= submit_tag %>
|
|
||||||
|
|
||||||
<% end %>
|
</div>
|
|
@ -1 +1,3 @@
|
||||||
<%= render_node_and_children(Item.first(:conditions => {:parent_id => nil})) %>
|
<div class="items_setup">
|
||||||
|
<%= render_node_and_children(Item.first(:conditions => {:parent_id => nil})) %>
|
||||||
|
</div>
|
|
@ -1,25 +1,28 @@
|
||||||
<h1><%= t('admin.list_puchases') %></h1>
|
<div class="main2">
|
||||||
|
<h1><%= t('admin.list_puchases') %></h1>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<thead>
|
||||||
<th><%= t('admin.title') %></th>
|
<tr>
|
||||||
<th><%= t('admin.intro') %></th>
|
<td><%= t('admin.title') %></td>
|
||||||
<th><%= t('admin.author') %></th>
|
<td><%= t('admin.intro') %></td>
|
||||||
<th><%= t('admin.action') %></th>
|
<td><%= t('admin.author') %></td>
|
||||||
</tr>
|
<td><%= t('admin.action') %></td>
|
||||||
|
</tr>
|
||||||
<% @purchases.each do |purchase| %>
|
</thead>
|
||||||
<tr>
|
<%# @purchases.each do |purchase| %>
|
||||||
<td><%= purchase.title %></td>
|
<% purchase = PModuleApp.create(:title => 'title', :intro => 'is module', :author => 'me') %>
|
||||||
<td><%= purchase.intro %></td>
|
<tr class="have">
|
||||||
<td><%= purchase.author %></td>
|
<td><%= purchase.title %></td>
|
||||||
<td>
|
<td><%= purchase.intro %></td>
|
||||||
<% if purchase.downloaded %>
|
<td><%= purchase.author %></td>
|
||||||
<%= t(:downloaded) %>
|
<td class="action">
|
||||||
<% else %>
|
<% if purchase.downloaded %>
|
||||||
<%= link_to t(:download) , download_admin_purchase_path(purchase) %>
|
<%= t(:downloaded) %>
|
||||||
<% end %>
|
<% else %>
|
||||||
</td>
|
<%= link_to t(:download) , download_admin_purchase_path(purchase), :class => 'download' %>
|
||||||
</tr>
|
<% end %>
|
||||||
<% end %>
|
</td>
|
||||||
</table>
|
</tr>
|
||||||
|
<%# end %>
|
||||||
|
</table>
|
||||||
|
</div>
|
|
@ -1,33 +1,35 @@
|
||||||
<div id="site_info">
|
<div class="main2">
|
||||||
<h2 id="siteinfo_title">Site Information</h2>
|
<div id="site_info">
|
||||||
<table id="siteinfo_tb">
|
<h1 id="siteinfo_title">Site Information</h1>
|
||||||
<tr>
|
<table id="siteinfo_tb">
|
||||||
<td>School Name</td>
|
<tr>
|
||||||
<td><%= @site.school %></td>
|
<td>School Name</td>
|
||||||
</tr>
|
<td><%= @site.school %></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td>Department</td>
|
<tr>
|
||||||
<td><%= @site.department %></td>
|
<td>Department</td>
|
||||||
</tr>
|
<td><%= @site.department %></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td>Version</td>
|
<tr>
|
||||||
<td>v0.1</td>
|
<td>Version</td>
|
||||||
</tr>
|
<td>v0.1</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td>Administrator</td>
|
<tr>
|
||||||
<td>admin</td>
|
<td>Administrator</td>
|
||||||
</tr>
|
<td>admin</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td>Visitor Counter</td>
|
<tr>
|
||||||
<td>2,201</td>
|
<td>Visitor Counter</td>
|
||||||
</tr>
|
<td>2,201</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td>Registration Status</td>
|
<tr>
|
||||||
<td><%= render 'registration' %></td>
|
<td>Registration Status</td>
|
||||||
</tr>
|
<td><%= render 'registration' %></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td>Updates</td>
|
<tr>
|
||||||
<td><%= render 'update' %></td>
|
<td>Updates</td>
|
||||||
</tr>
|
<td><%= render 'update' %></td>
|
||||||
</table>
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -1,5 +1,5 @@
|
||||||
|
<div class="main2">
|
||||||
<%= form_tag admin_translation_path('all'), :method => :put do %>
|
<%= form_tag admin_translation_path('all'), :method => :put do %>
|
||||||
|
|
||||||
<% if @language_i18n_variables.size > 0 %>
|
<% if @language_i18n_variables.size > 0 %>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>
|
<legend>
|
||||||
|
@ -30,6 +30,10 @@
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= submit_tag t('update') %> <%= link_back %>
|
<div class="button_bar">
|
||||||
|
<%= link_back %>
|
||||||
|
<%= submit_tag t('update') %>
|
||||||
|
</div>
|
||||||
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
</div>
|
|
@ -1,4 +1,7 @@
|
||||||
|
<div class="main2">
|
||||||
<% content_for :secondary do %>
|
<% content_for :secondary do %>
|
||||||
|
<div class="translations_setup">
|
||||||
|
<h1><%= t('admin.setup_translations') %></h1>
|
||||||
<ul class="list">
|
<ul class="list">
|
||||||
<li><%= link_to t(:edit), edit_admin_translation_path('all'), :class => 'button positive' %></li>
|
<li><%= link_to t(:edit), edit_admin_translation_path('all'), :class => 'button positive' %></li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -30,6 +33,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
||||||
<% if @language_i18n_variables.size > 0 %>
|
<% if @language_i18n_variables.size > 0 %>
|
||||||
|
@ -65,3 +69,4 @@
|
||||||
<% content_for :page_specific_javascript do %>
|
<% content_for :page_specific_javascript do %>
|
||||||
<%= javascript_include_tag "translation_page" %>
|
<%= javascript_include_tag "translation_page" %>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
</div>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
<% content_for :secondary do %>
|
<% content_for :secondary do %>
|
||||||
<%= render 'side_bar' %>
|
<%= render 'admin/users/side_bar' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div id="porfile">
|
<div id="porfile" class="clear">
|
||||||
<%= form_for @user, :url => admin_user_path(@user), :html => { :multipart => true } do |f| %>
|
<%= form_for @user_attribute_model, :url => eval("admin_user_#{@attribute}_model_path(@user_role_model)") do |f| %>
|
||||||
<%= f.error_messages %>
|
<%= f.error_messages %>
|
||||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
<%= render :partial => "admin/user_attribute_models/form", :locals => { :f => f, :is_new => false } %>
|
||||||
<div class="button_bar">
|
<div class="button_bar">
|
||||||
<%= link_back %>
|
<%= link_to t('update'), "#", :onclick=>"$('#edit_user_role_model_#{@user_attribute_model.id}').submit()" %>
|
||||||
<%= link_to t('update'), "#", :onclick=>"$('#edit_user_#{@user.id}').submit()" %>
|
<%= link_back %>
|
||||||
</div>
|
</div>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</div>
|
</div>
|
|
@ -0,0 +1,14 @@
|
||||||
|
<% content_for :secondary do %>
|
||||||
|
<%= render 'side_bar' %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<div id="porfile">
|
||||||
|
<%= form_for @user, :url => admin_user_path(@user), :html => { :multipart => true } do |f| %>
|
||||||
|
<%= f.error_messages %>
|
||||||
|
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||||
|
<div class="button_bar">
|
||||||
|
<%= link_back %>
|
||||||
|
<%= link_to t('update'), "#", :onclick=>"$('#edit_user_#{@user.id}').submit()" %>
|
||||||
|
</div>
|
||||||
|
<% end -%>
|
||||||
|
</div>
|
|
@ -2,7 +2,7 @@
|
||||||
<%= render 'admin/users/side_bar' %>
|
<%= render 'admin/users/side_bar' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div class="main_list">
|
<div class="main_list clear">
|
||||||
<div class="button_bar up">
|
<div class="button_bar up">
|
||||||
<%= link_to t("admin.new_user_#{@attribute}"), eval("new_admin_user_#{@attribute}_model_path"), :class => 'new' %>
|
<%= link_to t("admin.new_user_#{@attribute}"), eval("new_admin_user_#{@attribute}_model_path"), :class => 'new' %>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<%= render 'admin/users/side_bar' %>
|
<%= render 'admin/users/side_bar' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div id="porfile">
|
<div id="porfile" class="clear">
|
||||||
<%= form_for @user_attribute_model, :url => eval("admin_user_#{@attribute}_models_path") do |f| %>
|
<%= form_for @user_attribute_model, :url => eval("admin_user_#{@attribute}_models_path") do |f| %>
|
||||||
<%= f.error_messages %>
|
<%= f.error_messages %>
|
||||||
<%= render :partial => "admin/user_attribute_models/form", :locals => { :f => f, :is_new => true } %>
|
<%= render :partial => "admin/user_attribute_models/form", :locals => { :f => f, :is_new => true } %>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<%= render 'side_bar' %>
|
<%= render 'side_bar' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div id="porfile">
|
<div id="porfile" class="clear">
|
||||||
<%= form_for @user, :url => admin_user_path(@user), :html => { :multipart => true } do |f| %>
|
<%= form_for @user, :url => admin_user_path(@user), :html => { :multipart => true } do |f| %>
|
||||||
<%= f.error_messages %>
|
<%= f.error_messages %>
|
||||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<%= render 'side_bar' %>
|
<%= render 'side_bar' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div class="main_list">
|
<div class="main_list clear">
|
||||||
<%= flash_messages %>
|
<%= flash_messages %>
|
||||||
<div class="button_bar up">
|
<div class="button_bar up">
|
||||||
<%= link_to t('admin.new_user'), new_admin_user_path, :class => 'new' %>
|
<%= link_to t('admin.new_user'), new_admin_user_path, :class => 'new' %>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<%= render 'side_bar' %>
|
<%= render 'side_bar' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div id="porfile">
|
<div id="porfile" class="clear">
|
||||||
<%= form_for @user, :url => admin_users_path, :html => { :multipart => true } do |f| %>
|
<%= form_for @user, :url => admin_users_path, :html => { :multipart => true } do |f| %>
|
||||||
<%= f.error_messages %>
|
<%= f.error_messages %>
|
||||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<%= render 'side_bar' %>
|
<%= render 'side_bar' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div id="porfile">
|
<div id="porfile" class="clear">
|
||||||
|
|
||||||
<div id="person">
|
<div id="person">
|
||||||
<% if @user.avatar? %>
|
<% if @user.avatar? %>
|
||||||
|
|
|
@ -19,17 +19,13 @@
|
||||||
<%= render 'devise/menu/login_items' %>
|
<%= render 'devise/menu/login_items' %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="content">
|
||||||
<div id="panel_container">
|
<div id="sidebar"><%= yield :sidebar %></div>
|
||||||
<div id="panel_content">
|
<div class="main"><div class="main2">
|
||||||
<div id="panel_sidebar2">
|
<%= yield %>
|
||||||
<div id="panel_sidebar"><%= yield :sidebar %></div>
|
</div></div>
|
||||||
</div>
|
<div class="tertiary"><%= yield :tertiary %></div>
|
||||||
<div id="panel_main2">
|
<div id="panel_footer"><p><%= APP_CONFIG['ruling_digital'] %></p></div>
|
||||||
<div id="panel_main"><%= yield %></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="panel_footer"><%= yield :footer %></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
defaults: &defaults
|
defaults: &defaults
|
||||||
main_public_key: 'lib/main_public_key.pem'
|
main_public_key: 'lib/main_public_key.pem'
|
||||||
store_ip: 'localhost:3001'
|
store_ip: 'redmine.rulingcom.com:3001'
|
||||||
orbit: 'Orbit'
|
orbit: 'Orbit'
|
||||||
ruling_digital: 'RulingDigital'
|
ruling_digital: 'RulingDigital'
|
||||||
|
|
||||||
|
|
|
@ -109,6 +109,8 @@ en:
|
||||||
role: Role
|
role: Role
|
||||||
roles: Roles
|
roles: Roles
|
||||||
setup_member: Member setup
|
setup_member: Member setup
|
||||||
|
setup_translations: Translations setup
|
||||||
|
setup_designs: Designs setup
|
||||||
site: Site
|
site: Site
|
||||||
title: Title
|
title: Title
|
||||||
translation: Translation
|
translation: Translation
|
||||||
|
|
|
@ -103,6 +103,8 @@ zh_tw:
|
||||||
role: 角色
|
role: 角色
|
||||||
roles: 角色
|
roles: 角色
|
||||||
setup_member: 成員設置
|
setup_member: 成員設置
|
||||||
|
setup_translations: 語系設定
|
||||||
|
setup_designs: 版型設定
|
||||||
site: 網站
|
site: 網站
|
||||||
title: 標題
|
title: 標題
|
||||||
translation: 翻譯
|
translation: 翻譯
|
||||||
|
|
Loading…
Reference in New Issue