fix announcement links & files
This commit is contained in:
commit
a755eb184b
84 files changed
+2009
-1672
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
+100
-104
@@ -1,104 +1,100 @@
|
||||
var viewportwidth,
|
||||
viewportheight;
|
||||
function resize() {
|
||||
viewportheight=$(window).height();
|
||||
viewportwidth=$(window).width();
|
||||
if(window.navigator.userAgent.indexOf("MSIE")>0){
|
||||
windH=document.clientHeight;
|
||||
windW=document.clientWidht;
|
||||
}
|
||||
}
|
||||
$(document).ready(function(){
|
||||
$(document).on('click', '.language-menu li', function(){
|
||||
$(this).each(function(i){
|
||||
$(this).siblings().removeClass('active')
|
||||
$(this).addClass('active')
|
||||
})
|
||||
return false;
|
||||
});
|
||||
$(document).on('click', '.orbit-bar-member', function(){
|
||||
$(this).hasClass('open') ? $(this).removeClass('open') : $(this).addClass('open');
|
||||
$('.bar-login .dropdown-menu').toggle();
|
||||
return false;
|
||||
});
|
||||
|
||||
$(document).click(function() {
|
||||
$('.orbit-bar-member').removeClass("open");
|
||||
$('.bar-login .dropdown-menu').hide();
|
||||
});
|
||||
|
||||
$(document).on('click', '.bar-login .dropdown-menu', function(e) {
|
||||
e.stopPropagation();
|
||||
$('.bar-login .dropdown-menu').show();
|
||||
});
|
||||
|
||||
$('.tip').tooltip({
|
||||
placement: "left"
|
||||
});
|
||||
|
||||
$(document).on('click', '.privacy', function() {
|
||||
switch ($(this).val()) {
|
||||
case 'true':
|
||||
$(this).parents('.controls').children('.select-role').slideUp(300);
|
||||
break;
|
||||
case 'false':
|
||||
$(this).parents('.controls').children('.select-role').slideDown(300);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '.toggle-tr-edit', function() {
|
||||
$(this).parents('tr').next('.qe-block').removeClass('hide');
|
||||
$(this).parents('tr').next('.qe-block').find('.qe-edit-div').addClass('hide');
|
||||
$(this).parents('tr').next('.qe-block').find('#qe-' + $(this).attr('rel')).toggleClass('hide');
|
||||
});
|
||||
|
||||
$(document).on('click', '.sort-header > .sort', function() {
|
||||
$.getScript($(this).attr('rel'));
|
||||
});
|
||||
|
||||
/*tinyscrollbar&windows-Size*/
|
||||
resize();
|
||||
$('#main-sidebar').css("height", viewportheight-40);
|
||||
$('#main-sidebar .viewport').css("height", viewportheight-40);
|
||||
$('.post-title').css("width", viewportwidth-495);
|
||||
$('#main-sidebar').tinyscrollbar();
|
||||
$('.detal-list').tinyscrollbar();
|
||||
$('#main-sidebar').tinyscrollbar({size:(viewportheight-44)});
|
||||
|
||||
/*isotope*/
|
||||
var $container = $('#isotope');
|
||||
$container.isotope({
|
||||
itemSelector : '.item',
|
||||
layoutMode : 'masonry',
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
$(window).resize(function(){
|
||||
resize();
|
||||
var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2;
|
||||
$('#main-sidebar').css("height", viewportheight-30);
|
||||
$('#main-sidebar .viewport').css("height", viewportheight-30);
|
||||
$('.post-title').css("width", viewportwidth-495);
|
||||
$('#main-wrap > .subnav').css("width", viewportwidth-$mainWrapMarginLeft)
|
||||
$('#main-sidebar').tinyscrollbar({size:(viewportheight-34)});
|
||||
mainTablePosition()
|
||||
});
|
||||
/*main-table position*/
|
||||
function mainTablePosition() {
|
||||
var $height = $('#main-wrap > .subnav').height()
|
||||
var $table = $('#main-wrap > .table')
|
||||
//alert ($table.height())
|
||||
$table.stop().animate({marginTop:$height},500)
|
||||
//$table.css({marginTop : $height})
|
||||
}
|
||||
$(window).scroll(function () {
|
||||
//var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-1;
|
||||
//var $subnavWidth = parseInt($('#main-wrap > .subnav').css("width"));
|
||||
var $winLeft = $(window).scrollLeft()
|
||||
$(".table-label").css({left:$winLeft*-1} );
|
||||
//$(".table-label").css({left:$mainWrapMarginLeft+($winLeft*-1)} );
|
||||
//$("#main-wrap > .subnav").css({width:$subnavWidth+($winLeft)} );
|
||||
//console.log($mainWrapMarginLeft+($winLeft*-1)+5);
|
||||
});
|
||||
var viewportwidth,
|
||||
viewportheight;
|
||||
function resize() {
|
||||
viewportheight=$(window).height();
|
||||
viewportwidth=$(window).width();
|
||||
if(window.navigator.userAgent.indexOf("MSIE")>0){
|
||||
windH=document.clientHeight;
|
||||
windW=document.clientWidht;
|
||||
}
|
||||
}
|
||||
$(document).ready(function(){
|
||||
$(document).on('click', '.orbit-bar-member', function(){
|
||||
$(this).hasClass('open') ? $(this).removeClass('open') : $(this).addClass('open');
|
||||
$('.bar-login .dropdown-menu').toggle();
|
||||
return false;
|
||||
});
|
||||
|
||||
$(document).click(function() {
|
||||
$('.orbit-bar-member').removeClass("open");
|
||||
$('.bar-login .dropdown-menu').hide();
|
||||
});
|
||||
|
||||
$(document).on('click', '.bar-login .dropdown-menu', function(e) {
|
||||
e.stopPropagation();
|
||||
$('.bar-login .dropdown-menu').show();
|
||||
});
|
||||
|
||||
$('.tip').tooltip({
|
||||
placement: "left"
|
||||
});
|
||||
|
||||
$(document).on('click', '.privacy', function() {
|
||||
switch ($(this).val()) {
|
||||
case 'true':
|
||||
$(this).parents('.controls').children('.select-role').slideUp(300);
|
||||
break;
|
||||
case 'false':
|
||||
$(this).parents('.controls').children('.select-role').slideDown(300);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '.toggle-tr-edit', function() {
|
||||
$(this).parents('tr').next('.qe-block').removeClass('hide');
|
||||
$(this).parents('tr').next('.qe-block').find('.qe-edit-div').addClass('hide');
|
||||
$(this).parents('tr').next('.qe-block').find('#qe-' + $(this).attr('rel')).toggleClass('hide');
|
||||
});
|
||||
|
||||
$(document).on('click', '.sort-header > .sort', function() {
|
||||
$.getScript($(this).attr('rel'));
|
||||
});
|
||||
|
||||
/*tinyscrollbar&windows-Size*/
|
||||
resize();
|
||||
var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2;
|
||||
$('#main-sidebar').css("height", viewportheight-30);
|
||||
$('#main-sidebar .viewport').css("height", viewportheight-30);
|
||||
$('.post-title').css("width", viewportwidth-495);
|
||||
$('#main-wrap > .subnav').css("width", viewportwidth-$mainWrapMarginLeft)
|
||||
$('#main-sidebar').tinyscrollbar();
|
||||
$('.detal-list').tinyscrollbar();
|
||||
$('#main-sidebar').tinyscrollbar({size:(viewportheight-34)});
|
||||
mainTablePosition()
|
||||
|
||||
/*isotope*/
|
||||
var $container = $('#isotope');
|
||||
$container.isotope({
|
||||
itemSelector : '.item',
|
||||
layoutMode : 'masonry',
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
$(window).resize(function(){
|
||||
resize();
|
||||
var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2;
|
||||
$('#main-sidebar').css("height", viewportheight-30);
|
||||
$('#main-sidebar .viewport').css("height", viewportheight-30);
|
||||
$('.post-title').css("width", viewportwidth-495);
|
||||
$('#main-wrap > .subnav').css("width", viewportwidth-$mainWrapMarginLeft)
|
||||
$('#main-sidebar').tinyscrollbar({size:(viewportheight-34)});
|
||||
mainTablePosition()
|
||||
});
|
||||
/*main-table position*/
|
||||
function mainTablePosition() {
|
||||
var $height = $('#main-wrap > .subnav').height()
|
||||
var $table = $('#main-wrap > .table')
|
||||
//alert ($table.height())
|
||||
$table.stop().animate({marginTop:$height},500)
|
||||
//$table.css({marginTop : $height})
|
||||
}
|
||||
$(window).scroll(function () {
|
||||
//var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-1;
|
||||
//var $subnavWidth = parseInt($('#main-wrap > .subnav').css("width"));
|
||||
var $winLeft = $(window).scrollLeft()
|
||||
$(".table-label").css({left:$winLeft*-1} );
|
||||
//$(".table-label").css({left:$mainWrapMarginLeft+($winLeft*-1)} );
|
||||
//$("#main-wrap > .subnav").css({width:$subnavWidth+($winLeft)} );
|
||||
//console.log($mainWrapMarginLeft+($winLeft*-1)+5);
|
||||
});
|
||||
@@ -2642,8 +2642,8 @@ button.btn.small, input[type="submit"].btn.small {
|
||||
color: #333333;
|
||||
}
|
||||
.pagination {
|
||||
height: 36px;
|
||||
margin: 18px 0;
|
||||
height: 36px;
|
||||
margin: 18px 0;
|
||||
}
|
||||
.pagination ul {
|
||||
display: inline-block;
|
||||
@@ -2663,7 +2663,8 @@ button.btn.small, input[type="submit"].btn.small {
|
||||
.pagination li {
|
||||
display: inline;
|
||||
}
|
||||
.pagination a {
|
||||
|
||||
.pagination .page{
|
||||
float: left;
|
||||
padding: 0 14px;
|
||||
line-height: 34px;
|
||||
@@ -2671,6 +2672,28 @@ button.btn.small, input[type="submit"].btn.small {
|
||||
border: 1px solid #ddd;
|
||||
border-left-width: 0;
|
||||
}
|
||||
.pagination a {
|
||||
float: left;
|
||||
}
|
||||
.pagination .next{
|
||||
float: left;
|
||||
padding: 0 14px;
|
||||
line-height: 34px;
|
||||
text-decoration: none;
|
||||
border: 1px solid #ddd;
|
||||
border-left-width: 0;
|
||||
}
|
||||
.pagination .last{
|
||||
float: left;
|
||||
padding: 0 14px;
|
||||
line-height: 34px;
|
||||
text-decoration: none;
|
||||
border: 1px solid #ddd;
|
||||
border-left-width: 0;
|
||||
}
|
||||
.pagination .current{
|
||||
border-left-width: 1px;
|
||||
}
|
||||
.pagination a:hover, .pagination .active a {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
@@ -1,482 +1,483 @@
|
||||
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, '微軟正黑體';
|
||||
}
|
||||
#back_banner_link{
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #787e82), color-stop(0.05, #61676c), color-stop(1, #292c2d) );
|
||||
background:-moz-linear-gradient( center top -90deg, #787e82 0%, #61676c 5%, #292c2d 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#61676c', endColorstr='#292c2d');
|
||||
-moz-box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7);
|
||||
-webkit-box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7);
|
||||
box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7);
|
||||
border-top: 1px solid #474a4c;
|
||||
border-bottom: 1px solid #1d2020;
|
||||
height: 41px;
|
||||
width: 100%;
|
||||
behavior: url(<%= asset_path "PIE.htc" %>);
|
||||
}
|
||||
.hmenu{
|
||||
float: right;
|
||||
height: 41px;
|
||||
}
|
||||
#back_orbit{
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #70787d), color-stop(1, #3b4043) );
|
||||
background:-moz-linear-gradient( center top -90deg, #70787d 0%, #3b4043 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#70787d', endColorstr='#3b4043');
|
||||
-webkit-border-radius: 0px 0px 5px 5px;
|
||||
-moz-border-radius: 0px 0px 5px 5px;
|
||||
border-radius: 0px 0px 5px 5px;
|
||||
-moz-box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7);
|
||||
-webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7);
|
||||
box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7);
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
height: 43px;
|
||||
margin-left: 10px;
|
||||
width: 41px;
|
||||
behavior: url(<%= asset_path "PIE.htc" %>);
|
||||
}
|
||||
#back_orbit span{
|
||||
text-indent: -9999px;
|
||||
background: url(<%= asset_path "bar_orbit.png" %>) no-repeat scroll 0 0 transparent;
|
||||
display: block;
|
||||
height: 43px;
|
||||
width: 100%;
|
||||
}
|
||||
#back_orbit:hover{
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #fefefe), color-stop(1, #e4e4e4) );
|
||||
background:-moz-linear-gradient( center top -90deg, #fefefe 0%, #e4e4e4 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fefefe', endColorstr='#e4e4e4');
|
||||
-webkit-border-radius: 0px;
|
||||
-moz-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
#back_orbit:hover span{
|
||||
background-position: 0 -44px;
|
||||
}
|
||||
#back_orbit:hover #orblist{
|
||||
display:block;
|
||||
}
|
||||
#orblist{
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #e4e4e4), color-stop(1, #FFFFFF) );
|
||||
background:-moz-linear-gradient( center top -90deg, #e4e4e4 0%, #FFFFFF 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e4e4e4', endColorstr='#FFFFFF');
|
||||
-webkit-border-radius: 0px 3px 3px 3px;
|
||||
-moz-border-radius: 0px 3px 3px 3px;
|
||||
border-radius: 0px 3px 3px 3px;
|
||||
-webkit-box-shadow: 0 3px 3px #000000;
|
||||
-moz-box-shadow: 0 3px 3px #000000;
|
||||
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{
|
||||
-moz-box-shadow:inset 1px 0px 0px 0px #73777b;
|
||||
-webkit-box-shadow:inset 1px 0px 0px 0px #73777b;
|
||||
box-shadow:inset 1px 0px 0px 0px #73777b;
|
||||
border-right:1px solid #41474c;
|
||||
border-left:1px solid #41474c;
|
||||
float:right;
|
||||
width:41px;
|
||||
height:41px;
|
||||
}
|
||||
#log_out:hover{
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #01afde), color-stop(1, #007ec6) );
|
||||
background:-moz-linear-gradient( center top -90deg, #01afde 0%, #007ec6 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#01afde', endColorstr='#007ec6');
|
||||
}
|
||||
#log_out a{
|
||||
background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right 0 transparent;
|
||||
display: block;
|
||||
height: 41px;
|
||||
text-indent: -9999px;
|
||||
width: 41px;
|
||||
}
|
||||
#log_out a:hover{
|
||||
background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right bottom transparent !important;
|
||||
}
|
||||
.lang{
|
||||
color: #FFFFFF;
|
||||
float: right;
|
||||
font-size: 15px;
|
||||
line-height: 40px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.lang a{
|
||||
color:#fff;
|
||||
text-decoration:none;
|
||||
}
|
||||
.lang a:hover{
|
||||
text-decoration:underline;
|
||||
}
|
||||
#back_content{
|
||||
height: 100%;
|
||||
}
|
||||
#back_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;
|
||||
}
|
||||
#back_sidebar .items_setup .list li{
|
||||
padding: 6px 0 7px 5px;
|
||||
}
|
||||
#back_sidebar .items_setup .list li a{
|
||||
display: inline;
|
||||
font-size: 0.9em;
|
||||
padding: 0;
|
||||
}
|
||||
#back_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;
|
||||
}
|
||||
|
||||
#back_sidebar .items_setup .list li{
|
||||
background:url(<%= asset_path "sidebar_li2.jpg" %>) repeat left top;
|
||||
border:none;
|
||||
padding: 0 0 0 5px;
|
||||
}
|
||||
#back_sidebar .items_setup .list li a{
|
||||
line-height:31px;
|
||||
}
|
||||
#back_sidebar .items_setup .list li:hover{
|
||||
background:url(<%= asset_path "sidebar_li2.jpg" %>) repeat left top;
|
||||
border:none;
|
||||
}
|
||||
#back_sidebar .items_setup ul .list {
|
||||
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, '微軟正黑體';
|
||||
}
|
||||
#back_banner_link{
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #787e82), color-stop(0.05, #61676c), color-stop(1, #292c2d) );
|
||||
background:-moz-linear-gradient( center top -90deg, #787e82 0%, #61676c 5%, #292c2d 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#61676c', endColorstr='#292c2d');
|
||||
-moz-box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7);
|
||||
-webkit-box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7);
|
||||
box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7);
|
||||
border-top: 1px solid #474a4c;
|
||||
border-bottom: 1px solid #1d2020;
|
||||
height: 41px;
|
||||
width: 100%;
|
||||
behavior: url(<%= asset_path "PIE.htc" %>);
|
||||
}
|
||||
.hmenu{
|
||||
float: right;
|
||||
height: 41px;
|
||||
}
|
||||
#back_orbit{
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #70787d), color-stop(1, #3b4043) );
|
||||
background:-moz-linear-gradient( center top -90deg, #70787d 0%, #3b4043 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#70787d', endColorstr='#3b4043');
|
||||
-webkit-border-radius: 0px 0px 5px 5px;
|
||||
-moz-border-radius: 0px 0px 5px 5px;
|
||||
border-radius: 0px 0px 5px 5px;
|
||||
-moz-box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7);
|
||||
-webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7);
|
||||
box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7);
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
height: 43px;
|
||||
margin-left: 10px;
|
||||
width: 41px;
|
||||
behavior: url(<%= asset_path "PIE.htc" %>);
|
||||
}
|
||||
#back_orbit span{
|
||||
text-indent: -9999px;
|
||||
background: url(<%= asset_path "bar_orbit.png" %>) no-repeat scroll 0 0 transparent;
|
||||
display: block;
|
||||
height: 43px;
|
||||
width: 100%;
|
||||
}
|
||||
#back_orbit:hover{
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #fefefe), color-stop(1, #e4e4e4) );
|
||||
background:-moz-linear-gradient( center top -90deg, #fefefe 0%, #e4e4e4 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fefefe', endColorstr='#e4e4e4');
|
||||
-webkit-border-radius: 0px;
|
||||
-moz-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
#back_orbit:hover span{
|
||||
background-position: 0 -44px;
|
||||
}
|
||||
#back_orbit:hover #orblist{
|
||||
display:block;
|
||||
}
|
||||
#orblist{
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #e4e4e4), color-stop(1, #FFFFFF) );
|
||||
background:-moz-linear-gradient( center top -90deg, #e4e4e4 0%, #FFFFFF 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e4e4e4', endColorstr='#FFFFFF');
|
||||
-webkit-border-radius: 0px 3px 3px 3px;
|
||||
-moz-border-radius: 0px 3px 3px 3px;
|
||||
border-radius: 0px 3px 3px 3px;
|
||||
-webkit-box-shadow: 0 3px 3px #000000;
|
||||
-moz-box-shadow: 0 3px 3px #000000;
|
||||
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{
|
||||
-moz-box-shadow:inset 1px 0px 0px 0px #73777b;
|
||||
-webkit-box-shadow:inset 1px 0px 0px 0px #73777b;
|
||||
box-shadow:inset 1px 0px 0px 0px #73777b;
|
||||
border-right:1px solid #41474c;
|
||||
border-left:1px solid #41474c;
|
||||
float:right;
|
||||
width:41px;
|
||||
height:41px;
|
||||
}
|
||||
#log_out:hover{
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #01afde), color-stop(1, #007ec6) );
|
||||
background:-moz-linear-gradient( center top -90deg, #01afde 0%, #007ec6 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#01afde', endColorstr='#007ec6');
|
||||
}
|
||||
#log_out a{
|
||||
background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right 0 transparent;
|
||||
display: block;
|
||||
height: 41px;
|
||||
text-indent: -9999px;
|
||||
width: 41px;
|
||||
}
|
||||
#log_out a:hover{
|
||||
background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right bottom transparent !important;
|
||||
}
|
||||
.lang{
|
||||
color: #FFFFFF;
|
||||
float: right;
|
||||
font-size: 15px;
|
||||
line-height: 40px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.lang a{
|
||||
color:#fff;
|
||||
text-decoration:none;
|
||||
}
|
||||
.lang a:hover{
|
||||
text-decoration:underline;
|
||||
}
|
||||
#back_content{
|
||||
height: 100%;
|
||||
}
|
||||
#back_footer{
|
||||
background-color: #101010;
|
||||
bottom: 0;
|
||||
color: #FFFFFF;
|
||||
display:none;
|
||||
font-size: 11px;
|
||||
padding: 10px;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
left: 0;
|
||||
box-shadow: 0 -3px 4px #000;
|
||||
}
|
||||
.items_setup{
|
||||
padding:42px 0 0 0;
|
||||
}
|
||||
#back_sidebar .items_setup .list li{
|
||||
padding: 6px 0 7px 5px;
|
||||
}
|
||||
#back_sidebar .items_setup .list li a{
|
||||
display: inline;
|
||||
font-size: 0.9em;
|
||||
padding: 0;
|
||||
}
|
||||
#back_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;
|
||||
}
|
||||
|
||||
#back_sidebar .items_setup .list li{
|
||||
background:url(<%= asset_path "sidebar_li2.jpg" %>) repeat left top;
|
||||
border:none;
|
||||
padding: 0 0 0 5px;
|
||||
}
|
||||
#back_sidebar .items_setup .list li a{
|
||||
line-height:31px;
|
||||
}
|
||||
#back_sidebar .items_setup .list li:hover{
|
||||
background:url(<%= asset_path "sidebar_li2.jpg" %>) repeat left top;
|
||||
border:none;
|
||||
}
|
||||
#back_sidebar .items_setup ul .list {
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -21,7 +21,10 @@ class Admin::AppAuthsController < ApplicationController
|
||||
|
||||
def create
|
||||
app_auth = AppAuth.find_or_create_by(module_app_id: params[:module_app_id])
|
||||
params[:new].each do |item|
|
||||
auth_all = params[:auth_all] || false
|
||||
app_auth.update_attribute(:all,auth_all)
|
||||
new_array = params[:new] || []
|
||||
new_array.each do |item|
|
||||
field = item[0]
|
||||
field_value = item[1]
|
||||
if field_value!=''
|
||||
@@ -66,6 +69,8 @@ class Admin::AppAuthsController < ApplicationController
|
||||
@module_app = ModuleApp.find(params[:id])
|
||||
end
|
||||
|
||||
|
||||
def show
|
||||
@module_app = ModuleApp.find(params[:id])
|
||||
end
|
||||
|
||||
end
|
||||
@@ -21,6 +21,10 @@ class Admin::ModuleAppsController < ApplicationController
|
||||
@module_app = ModuleApp.find(params[:id])
|
||||
end
|
||||
|
||||
def show
|
||||
@module_app = ModuleApp.find(params[:id])
|
||||
|
||||
end
|
||||
|
||||
def update
|
||||
@module_app = ModuleApp.find(params[:id])
|
||||
@@ -97,7 +101,7 @@ class Admin::ModuleAppsController < ApplicationController
|
||||
end
|
||||
#user is not permited to do that
|
||||
flash[:notice] = t('admin.app_auth.operation_not_permitted')
|
||||
redirect_to :action => "edit" # [TODO] maybe need to redirect to some other page
|
||||
render :nothing => true, :status => 403
|
||||
end
|
||||
|
||||
|
||||
@@ -109,7 +113,7 @@ class Admin::ModuleAppsController < ApplicationController
|
||||
end
|
||||
#user is not permited to do that
|
||||
flash[:notice] = t('admin.app_auth.operation_not_permitted')
|
||||
redirect_to :action => "edit" # [TODO] maybe need to redirect to some other page
|
||||
render :nothing => true, :status => 403
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,8 +1,12 @@
|
||||
class Admin::ObjectAuthsController < ApplicationController
|
||||
include OrbitCoreLib::PermissionUnility
|
||||
layout "admin"
|
||||
before_filter :authenticate_user!
|
||||
before_filter :check_if_user_can_do_object_auth
|
||||
# before_filter :is_admin? ,:only => :index
|
||||
|
||||
|
||||
|
||||
def index
|
||||
# if current_user.admin?
|
||||
@object_auths = ObjectAuth.all
|
||||
@@ -14,6 +18,7 @@ class Admin::ObjectAuthsController < ApplicationController
|
||||
def new
|
||||
obj = eval(params[:type]).find params[:obj_id]
|
||||
@object_auth=obj.object_auths.build
|
||||
@object_auth_title_option = eval(params[:type]+"::ObjectAuthTitlesOptions")
|
||||
respond_to do |format|
|
||||
format.html # new.html.erb
|
||||
format.xml { render :xml => @post }
|
||||
@@ -22,13 +27,21 @@ class Admin::ObjectAuthsController < ApplicationController
|
||||
|
||||
def create
|
||||
obj = eval(params[:object_auth][:type]).find params[:object_auth][:obj_id]
|
||||
@object_auth=obj.object_auths.create :title=> params[:object_auth][:title]
|
||||
redirect_to edit_admin_object_auth_path(@object_auth)
|
||||
@object_auth=obj.object_auths.build :title=> params[:object_auth][:title]
|
||||
if @object_auth.save
|
||||
redirect_to edit_admin_object_auth_path(@object_auth)
|
||||
else
|
||||
flash[:error] = t('admin.object.a_object_must_have_only_one_object_auth_profile_for_each_action')
|
||||
redirect_to (:back)
|
||||
end
|
||||
end
|
||||
|
||||
def create_role
|
||||
object_auth = ObjectAuth.find(params[:id])
|
||||
params[:new].each do |item|
|
||||
auth_all = params[:auth_all] || false
|
||||
object_auth.update_attribute(:all,auth_all)
|
||||
new_array = params[:new] || []
|
||||
new_array.each do |item|
|
||||
field = item[0]
|
||||
field_value = item[1]
|
||||
if field_value!=''
|
||||
@@ -69,7 +82,11 @@ class Admin::ObjectAuthsController < ApplicationController
|
||||
def edit
|
||||
@object_auth = ObjectAuth.find(params[:id])
|
||||
end
|
||||
|
||||
|
||||
|
||||
private
|
||||
def check_if_user_can_do_object_auth
|
||||
unless check_permission(:manager)
|
||||
render :nothing => true, :status => 403
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,8 @@
|
||||
class SessionsController < Devise::SessionsController
|
||||
|
||||
def create
|
||||
super
|
||||
reset_session
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,3 +0,0 @@
|
||||
class ObitFrontendController< ObitFrontendComponentController
|
||||
|
||||
end
|
||||
@@ -1,3 +0,0 @@
|
||||
class ObitWidgetController< ObitFrontendComponentController
|
||||
|
||||
end
|
||||
@@ -0,0 +1,24 @@
|
||||
class OrbitBackendController< ApplicationController
|
||||
before_filter :authenticate_user!
|
||||
before_filter :setup_vars
|
||||
# before_filter {|c| c.front_end_available(@app_title)}
|
||||
before_filter :check_user_can_use,:except => [:public]
|
||||
include OrbitCoreLib::PermissionUnility
|
||||
include AdminHelper
|
||||
|
||||
layout 'admin'
|
||||
|
||||
def setup_vars
|
||||
@app_title = request.fullpath.split('/')[2]
|
||||
@module_app = ModuleApp.first(conditions: {:key => @app_title} )
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def check_user_can_use
|
||||
unless check_permission
|
||||
redirect_to polymorphic_path(['panel',@app_title,'back_end','public'])
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
class ObitFrontendComponentController< ApplicationController
|
||||
class OrbitFrontendComponentController< ApplicationController
|
||||
before_filter :setup_vars
|
||||
before_filter {|c| c.front_end_available(@app_title)}
|
||||
layout 'module_widget'
|
||||
layout :false
|
||||
|
||||
def setup_vars
|
||||
@app_title = request.fullpath.split('/')[2]
|
||||
@@ -0,0 +1,3 @@
|
||||
class OrbitFrontendController< OrbitFrontendComponentController
|
||||
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
class OrbitWidgetController< OrbitFrontendComponentController
|
||||
|
||||
end
|
||||
@@ -30,7 +30,11 @@ class PagesController < ApplicationController
|
||||
end
|
||||
|
||||
def index_from_link
|
||||
redirect_to "/#{@item.full_name}"
|
||||
if params[:page]
|
||||
redirect_to "/#{@item.full_name}?page=#{params[:page]}"
|
||||
else
|
||||
redirect_to "/#{@item.full_name}"
|
||||
end
|
||||
end
|
||||
|
||||
def show_from_link
|
||||
|
||||
@@ -3,4 +3,9 @@ module Admin::AppAuthHelper
|
||||
link_to t(:enable), eval("admin_#{attribute_type}_path(attribute, :authenticity_token => form_authenticity_token, :#{attribute_type} => {:disabled => true})"), :remote => true, :method => :put, :id => "disable_#{attribute.id}", :style => "display:#{attribute.is_disabled? ? 'none' : ''}", :class => 'switch'
|
||||
link_to t(:disable), eval("admin_#{attribute_type}_path(attribute, :authenticity_token => form_authenticity_token, :#{attribute_type} => {:disabled => false})"), :remote => true, :method => :put, :id => "enable_#{attribute.id}", :style => "display:#{attribute.is_disabled? ? '' : 'none'}", :class => 'switch'
|
||||
end
|
||||
|
||||
def if_permitted_to(user,role)
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
@@ -5,4 +5,17 @@ module AdminHelper
|
||||
link_to('/' , admin_items_path) + ( @parent_items.map{ |i| link_to(i.name, admin_items_path(:parent_id=>i.id) ) } << @parent_item.name ).join("/").html_safe
|
||||
end
|
||||
|
||||
# Check if the current_user is manager in current module app
|
||||
def is_manager?
|
||||
@module_app.is_manager?(current_user) || is_admin?
|
||||
end
|
||||
|
||||
# Check if the current_user is sub manager in current module app
|
||||
def is_sub_manager?
|
||||
@module_app.is_sub_manager?(current_user)|| is_admin?
|
||||
end
|
||||
|
||||
def is_admin?
|
||||
current_user.admin?
|
||||
end
|
||||
end
|
||||
@@ -2,4 +2,5 @@ class AppAuth < PrototypeAuth
|
||||
|
||||
belongs_to :module_app
|
||||
|
||||
|
||||
end
|
||||
@@ -1,6 +1,7 @@
|
||||
class ModuleApp
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include OrbitCoreLib::ObjectTokenUnility
|
||||
|
||||
field :key
|
||||
field :title
|
||||
@@ -14,7 +15,7 @@ class ModuleApp
|
||||
|
||||
field :app_pages ,type: Array
|
||||
field :widgets ,type: Array
|
||||
|
||||
|
||||
has_many :managers,as: :managing_app ,:class_name => "AppManager" #,:dependent => :destroy,:foreign_key => "managing_app_id",:inverse_of => :managing_app
|
||||
has_many :sub_managers,as: :sub_managing_app ,:class_name => "AppManager"#, :dependent => :destroy,:foreign_key => "sub_managing_app_id",:inverse_of => :sub_managing_app
|
||||
|
||||
@@ -26,6 +27,14 @@ class ModuleApp
|
||||
|
||||
before_save :set_key
|
||||
|
||||
def is_manager?(user)
|
||||
managing_users.include?(user)
|
||||
end
|
||||
|
||||
def is_sub_manager?(user)
|
||||
sub_managing_users.include?(user) || is_manager?(user)
|
||||
end
|
||||
|
||||
def managing_users
|
||||
self.managers.collect{ |t| t.user }
|
||||
end
|
||||
@@ -73,5 +82,6 @@ class ModuleApp
|
||||
def set_key
|
||||
self.key = self.title.underscore if self.title
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
@@ -1,5 +1,6 @@
|
||||
class ObjectAuth < PrototypeAuth
|
||||
|
||||
include OrbitCoreLib::ObjectTokenUnility
|
||||
validates_uniqueness_of :obj_authable_type,:scope => :title #{ |c| }
|
||||
belongs_to :obj_authable, polymorphic: true
|
||||
# > - Something.find_with_auth(query)
|
||||
# > - or Something.find(query).auth
|
||||
|
||||
@@ -4,7 +4,6 @@ class PrototypeAuth
|
||||
# after_save :update_block_list,:update_privilage_list
|
||||
|
||||
field :title
|
||||
field :token
|
||||
field :all ,type: Boolean,default: false
|
||||
|
||||
belongs_to :users
|
||||
@@ -12,11 +11,12 @@ class PrototypeAuth
|
||||
has_and_belongs_to_many :blocked_users, :inverse_of => nil, :class_name => "User"
|
||||
has_and_belongs_to_many :privilege_users, :inverse_of => nil, :class_name => "User"
|
||||
|
||||
|
||||
has_and_belongs_to_many :roles
|
||||
has_and_belongs_to_many :sub_roles
|
||||
|
||||
attr_protected :roles,:sub_roles,:privilege_users,:blocked_users,:users
|
||||
attr_protected :roles,:sub_roles,:privilege_users,:blocked_users
|
||||
|
||||
|
||||
|
||||
def add_role role
|
||||
add_operation(:roles,role)
|
||||
@@ -68,7 +68,7 @@ class PrototypeAuth
|
||||
end
|
||||
end
|
||||
|
||||
def auth_users
|
||||
def auth_users_before_block_list
|
||||
if self.all?
|
||||
User.all.entries
|
||||
else
|
||||
@@ -83,11 +83,10 @@ class PrototypeAuth
|
||||
end
|
||||
end
|
||||
|
||||
def auth_users_after_block_list
|
||||
auth_users - self.blocked_users
|
||||
def auth_users
|
||||
auth_users_before_block_list - self.blocked_users
|
||||
end
|
||||
|
||||
# protected
|
||||
|
||||
|
||||
end
|
||||
@@ -0,0 +1,12 @@
|
||||
class Session
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
|
||||
def self.sweep(time = 1.hour)
|
||||
if time.is_a?(String)
|
||||
time = time.split.inject { |count, unit| count.to_i.send(unit) }
|
||||
end
|
||||
|
||||
delete_all "updated_at < '#{time.ago.to_s(:db)}' OR created_at < '#{2.days.ago.to_s(:db)}'"
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1 @@
|
||||
<%= f.select :module_app_id, @apps.collect { |t| [t.title.capitalize, t.id] }, {:include_blank => true} ,{:rel => admin_module_apps_path } %>
|
||||
@@ -1,3 +1,10 @@
|
||||
<div id="open_for_all_user">
|
||||
<h1>All User</h1>
|
||||
<%= form_tag(submit_url) do %>
|
||||
<%= check_box_tag 'auth_all',true,(auth.all rescue true) %><%= submit_tag 'Add Role' %><br/>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div id="user_role_management">
|
||||
<h1>User Role</h1>
|
||||
<%= form_tag(submit_url) do %>
|
||||
@@ -10,7 +17,6 @@
|
||||
<%= collection_select(:new,:blocked_user, User.all, :id, :name, :prompt => true) %>
|
||||
<%= submit_tag 'Add BlockedList' %><br/>
|
||||
<% end %>
|
||||
<ul>Roles </ul>
|
||||
<% unless auth.nil? %>
|
||||
<% auth.roles.each do |role| %>
|
||||
<li> <%= role.key %> Build in:<%= role.built_in ? 'Yes' : 'No' %>
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<%= f.select :module_app_id, @apps.collect { |t| [t.title.capitalize, t.id] }, {}, {:rel => admin_module_apps_path } %>
|
||||
@@ -0,0 +1,37 @@
|
||||
<br /><br /><br /><br />
|
||||
<%=@module_app.key %><br />
|
||||
<%=@module_app.title %><br />
|
||||
<%=@module_app.version %><br />
|
||||
<%=@module_app.organization %><br />
|
||||
<%=@module_app.author %><br />
|
||||
<%=@module_app.intro %><br />
|
||||
<%=@module_app.update_info %><br />
|
||||
<%=@module_app.create_date %><br />
|
||||
<%=@module_app.enable_frontend%><br />
|
||||
<%=@module_app.app_pages%><br />
|
||||
<%=@module_app.widgets%><br />
|
||||
|
||||
Mangers:
|
||||
<ul>
|
||||
<% @module_app.managers.each do |manager|%>
|
||||
<li><%= manager.user.name %></li>
|
||||
<%end%>
|
||||
</ul>
|
||||
|
||||
|
||||
SubManagers:
|
||||
<div>
|
||||
<% @module_app.sub_managers.each do |manager|%>
|
||||
<%= manager.user.name %>
|
||||
<%end%>
|
||||
</div>
|
||||
<br />
|
||||
|
||||
All User?:<%= @module_app.app_auth.all %><br />
|
||||
Blocked Users:<%= @module_app.app_auth.blocked_users.collect{|t| t.name} %><br />
|
||||
Privilege Users:<%= @module_app.app_auth.privilege_users.collect{|t| t.name}%><br />
|
||||
User Roles:<%= @module_app.app_auth.roles.collect{|t| t.key} %><br />
|
||||
User Sub Roles:<%= @module_app.app_auth.sub_roles.collect{|t| t.key} %><br />
|
||||
|
||||
Available users after calculation:
|
||||
<%= @module_app.app_auth.auth_users.collect{|user| user.name}.join(',') %>
|
||||
@@ -11,4 +11,4 @@
|
||||
<%= render :partial => "admin/components/user_role_management", :locals => {
|
||||
:object => @object_auth.auth_obj ,:auth=>@object_auth,:submit_url=>create_role_admin_object_auth_path(@object_auth),:ploy_route_ary=>['remove',:admin,@object_auth] } %>
|
||||
|
||||
|
||||
<%= link_to 'Back to object',eval(@object_auth.obj_authable.class.to_s+"::AfterObjectAuthUrl") %>
|
||||
@@ -12,7 +12,8 @@
|
||||
<h1><%= t('object_auth.new_object_auth') %></h1>
|
||||
<%= form_for @object_auth, :url => admin_object_auths_path do |f| %>
|
||||
<%= f.label :title %>
|
||||
<%= f.text_field :title, :class => 'text' %>
|
||||
<%= f.select :title,@object_auth_title_option %>
|
||||
|
||||
<%= f.hidden_field :obj_id, :value => params[:obj_id] %>
|
||||
<%= f.hidden_field :type, :value => params[:type] %>
|
||||
|
||||
|
||||
@@ -26,10 +26,10 @@
|
||||
</ul>
|
||||
</li>
|
||||
<% if user_signed_in? %>
|
||||
<li class="dropdown active clear">
|
||||
<li class="dropdown active">
|
||||
<a class="orbit-bar-account" href="#" data-toggle="dropdown">
|
||||
<!-- <img src="images/menber-pic.png" /> -->
|
||||
<%= image_tag current_user.avatar.thumb.url, :class => 'member-img' %>
|
||||
<img class="member-img" src="/assets/menber-pic.png" />
|
||||
<%#= image_tag current_user.avatar.thumb.url, :class => 'member-img' %>
|
||||
<span class="member-name"><%= current_user.name %></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu account-menu">
|
||||
@@ -45,7 +45,7 @@
|
||||
<%= t(:desktop) %>
|
||||
</a>
|
||||
</li>
|
||||
<li><%= link_to content_tag(:i, nil, :class => 'icons-out') + t(:logout), destroy_user_session_path %></li>
|
||||
<li><%= link_to content_tag(:i, nil, :class => 'icons-out') + ' ' + t(:logout), destroy_user_session_path %></li>
|
||||
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
@@ -95,7 +95,7 @@
|
||||
<% end %>
|
||||
</ul>
|
||||
<form class="navbar-search span6" action="">
|
||||
<input class="search-query span4" type="text" placeholder="Search NCCU">
|
||||
<input class="search-query span4" type="text" placeholder="<%= t(:search_nccu) %>">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<%= content_tag :li, link_to(t('admin.add_new'), new_panel_announcement_back_end_bulletin_path), :class => active_for_action('bulletins', 'new') %>
|
||||
<%= content_tag :li, link_to(t('admin.categories'), panel_announcement_back_end_bulletin_categorys_path), :class => active_for_action('bulletin_categorys', 'index') %>
|
||||
<%= content_tag :li, link_to(t('admin.tags'), panel_announcement_back_end_tags_path), :class => active_for_action('tags', 'index') %>
|
||||
<%= content_tag :li, link_to(t('announcement.bulletin.fact_check_setting'), panel_announcement_back_end_fact_checks_setting_path), :class => active_for_action('tags', 'index') %>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
|
||||
|
||||
Reference in new issue
Block a user