diff --git a/app/views/users/_course_homework.html.erb b/app/views/users/_course_homework.html.erb
index 2c1af1b83..66d348d98 100644
--- a/app/views/users/_course_homework.html.erb
+++ b/app/views/users/_course_homework.html.erb
@@ -173,7 +173,7 @@
<% time=project.updated_on %>
<% time=ForgeActivity.where("project_id=?",project.id).last.updated_at if ForgeActivity.where("project_id=?",project.id).last %>
<%=(User.find project.user_id).show_name %> (组长)
-
<%=time_from_now time %> <%= project.commits_count %>提交
+
<%=time_from_now time %> <%= project.project_score.changeset_num %>提交
项目名称:<%=project.name %>
创建者:<%=(User.find project.user_id).show_name %>(组长)
diff --git a/app/views/users/_course_journalsformessage.html.erb b/app/views/users/_course_journalsformessage.html.erb
index 53620a81c..affc4cf36 100644
--- a/app/views/users/_course_journalsformessage.html.erb
+++ b/app/views/users/_course_journalsformessage.html.erb
@@ -2,6 +2,7 @@
<%= link_to image_tag(url_to_avatar(activity.user), :width => "50", :height => "50"), user_path(activity.user_id), :alt => "用户头像" %>
+ <%= render :partial => 'users/show_detail_info', :locals => {:user => activity.user} %>
diff --git a/app/views/users/_resource_share_for_orgs.html.erb b/app/views/users/_resource_share_for_orgs.html.erb
index 37fb3442e..5a712b857 100644
--- a/app/views/users/_resource_share_for_orgs.html.erb
+++ b/app/views/users/_resource_share_for_orgs.html.erb
@@ -1,58 +1,59 @@
-
-
发送到
-
-
- 课程
- 项目
- 组织
-
-
- <%= form_tag search_user_org_user_path(user),:method => 'get',
- :remote=>true,:id=>'search_user_org_form' do %>
- <%= hidden_field_tag(:send_id, send_id) %>
- <%= hidden_field_tag(:send_ids, send_ids) %>
-
-
- <% end %>
-
-
-<%= form_tag add_exist_file_to_org_user_path(user),:remote=>true,:id=>'orgs_list_form' do %>
- <%= hidden_field_tag(:send_id, send_id) %>
- <%= hidden_field_tag(:send_ids, send_ids) %>
-
-
-
-
-
- <%= render :partial => 'users/org_resources_subfield',:locals => {:subfield=>nil}%>
-
-
-
-
-
-
-
-
-
目标地址:
-
- <%= submit_tag '确定',:class=>'sendSourceText',:onfocus=>'this.blur();',:onclick=>"check_des(event);" %>
-
-
-
+
+
发送到
+
+
+ 课程
+ 项目
+ 组织
+
+
+ <%= form_tag search_user_org_user_path(user),:method => 'get',
+ :remote=>true,:id=>'search_user_org_form' do %>
+ <%= hidden_field_tag(:send_id, send_id) %>
+ <%= hidden_field_tag(:send_ids, send_ids) %>
+
+
+ <% end %>
+
+
+<%= form_tag add_exist_file_to_org_user_path(user),:remote=>true,:id=>'orgs_list_form' do %>
+ <%= hidden_field_tag(:send_id, send_id) %>
+ <%= hidden_field_tag(:send_ids, send_ids) %>
+
+
+
+
+
+ <%= render :partial => 'users/org_resources_subfield',:locals => {:subfield=>nil}%>
+
+
+
+
+
+
+
+
+
目标地址:
+
+ <%= submit_tag '确定',:class=>'sendSourceText',:onfocus=>'this.blur();',:onclick=>"check_des(event);" %>
+
+
+
<%end %>
\ No newline at end of file
diff --git a/app/views/users/_show_detail_info.html.erb b/app/views/users/_show_detail_info.html.erb
index 3849b304c..dc6599884 100644
--- a/app/views/users/_show_detail_info.html.erb
+++ b/app/views/users/_show_detail_info.html.erb
@@ -5,7 +5,7 @@
-
<%= user %>
+
<%= user %>
diff --git a/app/views/users/_user_homework_detail.html.erb b/app/views/users/_user_homework_detail.html.erb
index 802723936..980646c87 100644
--- a/app/views/users/_user_homework_detail.html.erb
+++ b/app/views/users/_user_homework_detail.html.erb
@@ -1,306 +1,306 @@
-<% is_teacher = User.current.allowed_to?(:as_teacher,homework_common.course) %>
-
-
-
- <%=link_to image_tag(url_to_avatar(homework_common.user),width:"50px", height: "50px"), user_activities_path(homework_common.user.id)%>
-
-
-
- <%= link_to homework_common.user.show_name, user_activities_path(homework_common.user_id), :class => "newsBlue mr15"%>
- TO
- <%= link_to homework_common.course.name, course_path(homework_common.course_id), :class => "newsBlue ml15"%>
-
-
- <%= link_to homework_common.name,student_work_index_path(:homework => homework_common.id),:class => "postGrey"%>
-
-
- <% if homework_common.homework_detail_manual%>
- <% if homework_common.homework_detail_manual.comment_status == 0 %>
-
未发布
- <% elsif homework_common.homework_detail_manual.comment_status == 1%>
- <% if homework_common.anonymous_comment == 0%>
-
未开启匿评
- <% else %>
-
匿评已禁用
- <% end %>
- <% if Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")%>
-
作品提交中
- <% elsif Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") %>
-
作品补交中
- <% end %>
- <% elsif homework_common.homework_detail_manual.comment_status == 2%>
- <% if homework_common.anonymous_comment == 0%>
-
匿评中
- <% else %>
-
匿评已禁用
- <% end %>
-
教师评阅中
- <% elsif homework_common.homework_detail_manual.comment_status == 3%>
- <% if homework_common.anonymous_comment == 0%>
-
匿评已结束
- <% else %>
-
匿评已禁用
- <% end %>
-
教师评阅中
- <% end%>
- <% end%>
-
- <% if homework_common.homework_type == 3 && homework_common.homework_detail_group.base_on_project == 1%>
-
系统提示:该作业要求各组长<%=link_to "创建项目", new_project_path(:host=>Setting.host_name),:class=>"c_red",:title=>"新建项目",:style=>"text-decoration:underline;"%>,组成员加入项目,然后由组长关联项目。谢谢配合!
- <% elsif homework_common.homework_type == 3 && homework_common.homework_detail_group.base_on_project == 0%>
-
系统提示:该作业要求各组长提交作品,提交作品时请添加组成员。谢谢配合!
- <% end %>
-
- <% if homework_common.homework_type == 3 && !is_teacher && homework_common.homework_detail_group.base_on_project == 1 && User.current.member_of_course?(homework_common.course) %>
- <% projects = cur_user_projects_for_homework homework_common %>
- <% works = cur_user_works_for_homework homework_common %>
- <% if works.nil? && projects.nil? %>
-
- <%=link_to "关联项目",new_student_work_project_student_work_index_path(:homework => homework_common.id,:is_in_course=>is_in_course,:user_activity_id=>-1,:course_activity=>-1),remote: true,:class=> 'c_blue', :title=> '请各组长关联作业项目' %>
- <%#= relate_project(activity,is_teacher,-1,user_activity_id,course_activity) %>
-
- <% elsif works.nil? %>
-
- <%=link_to "取消关联",cancel_relate_project_student_work_index_path(:homework => homework_common.id,:is_in_course=>is_in_course,:user_activity_id=>-1,:course_activity=>-1), :confirm => "您确定要取消关联吗?", remote: true,:class => "c_blue", :title=> '取消关联项目' %>
-
- <% end %>
- <% end %>
-
- <%= user_for_homework_common homework_common,is_teacher %>
-
- <% if homework_common.homework_type == 2 && is_teacher%>
-
- <%= link_to "模拟答题", new_user_commit_homework_users_path(homework_id: homework_common.id, is_test: true), class: 'c_blue test-program-btn', title: '教师可以通过模拟答题设置作业的标准答案' %>
-
- <% end %>
- <% if homework_common.homework_type == 2%>
-
- 语言:
- <%= homework_common.language_name%>
-
- <% end %>
- <% if homework_common.homework_type == 3 && homework_common.homework_detail_group%>
-
- 分组人数:<%=homework_common.homework_detail_group.min_num %>-<%=homework_common.homework_detail_group.max_num %> 人
-
- <% end %>
- <% if homework_common.homework_detail_manual && homework_common.homework_detail_manual.comment_status < 2 %>
-
提交截止时间:<%= homework_common.end_time.to_s %> 23:59
- <% elsif homework_common.homework_detail_manual && homework_common.homework_detail_manual.comment_status >= 2 %>
-
匿评截止时间:<%= homework_common.homework_detail_manual.evaluation_end.to_s %> 23:59
- <% end %>
- <% if homework_common.homework_detail_manual.comment_status == 0 %>
-
- <%= l(:label_publish_time)%>:<%= homework_common.publish_time%> 00:00
-
- <% end %>
-
-
-
- <%= homework_common.description.html_safe %>
-
-
-
-
-
-
-
- <%= render :partial=>"attachments/activity_attach", :locals=>{:activity => homework_common} %>
-
-
-
- 迟交扣分:<%= homework_common.late_penalty%>分
-
- <% if homework_common.anonymous_comment == 0%>
-
- 匿评开启时间:<%= homework_common.homework_detail_manual.evaluation_start%> 00:00
-
- <% end %>
-
-
-
-
- 缺评扣分:<%= homework_common.homework_detail_manual.absence_penalty%>分/作品
-
- <% if homework_common.anonymous_comment == 0%>
-
- 匿评关闭时间:<%= homework_common.homework_detail_manual.evaluation_end%> 23:59
-
- <% end %>
-
-
- <% if homework_common.student_works.count != 0 %>
- <% sw = homework_common.student_works.reorder("created_at desc").first %>
-
- <%=time_from_now sw.created_at %><%= link_to sw.user.show_name, user_activities_path(sw.user_id), :class => "newsBlue ml5 mr5"%>提交了作品
-
- <% end %>
-
- <% if homework_common.student_works.count != 0 %>
- <% sw_id = "("+homework_common.student_works.map{|sw| sw.id}.join(",")+")" %>
- <% student_work_scores = StudentWorksScore.where("student_work_id in #{sw_id}").reorder("created_at desc") %>
- <% unless student_work_scores.empty? %>
- <% last_score = student_work_scores.first %>
-
- <%=time_from_now last_score.created_at %><%= link_to last_score.user.show_name, user_activities_path(last_score.user_id), :class => "newsBlue ml5 mr5"%>评阅了作品
-
- <% end %>
- <% end %>
-
- <% if homework_common.homework_type == 3 && homework_common.homework_detail_group.base_on_project == 1 %>
-
- <% projects = homework_common.student_work_projects.where("is_leader = 1") %>
-
- 已关联项目:<%='各小组尚未将小组项目关联到本次作业。' if projects.empty? %>
-
-
- <% projects.each do |pro| %>
- <% project = Project.find pro.project_id %>
-
-
- <% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
- <%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s+"_"+homework_common.id.to_s,:alt =>"项目头像" %>
- <% else %>
- <%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius",:id=>"project_img_"+project.id.to_s+"_"+homework_common.id.to_s,:alt =>"项目头像") %>
- <% end %>
- <% time=project.updated_on %>
- <% time=ForgeActivity.where("project_id=?",project.id).last.updated_at if ForgeActivity.where("project_id=?",project.id).last %>
-
<%=(User.find project.user_id).show_name %> (组长)
-
<%=time_from_now time %> <%= project.commits_count %>提交
-
- 项目名称:<%=project.name %>
- 创建者:<%=(User.find project.user_id).show_name %>(组长)
- 更新时间:<%=time_from_now time %>
-
-
- <% end %>
-
- <% end %>
-
- <% if is_teacher%>
- <% comment_status = homework_common.homework_detail_manual.comment_status%>
-
-
-
-
-
- <%= link_to l(:button_edit),edit_homework_common_path(homework_common,:is_in_course => is_in_course,:course_activity=>-1), :class => "postOptionLink"%>
-
-
- <%= link_to(l(:label_bid_respond_delete), homework_common_path(homework_common,:is_in_course => is_in_course,:course_activity=>-1),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "postOptionLink") %>
-
-
- <%= link_to("评分设置", score_rule_set_homework_common_path(homework_common, :is_in_course => is_in_course,:course_activity=>-1),:class => "postOptionLink", :remote => true) %>
-
- <% if homework_common.anonymous_comment == 0 &&(comment_status == 0 || comment_status == 1)%>
-
- <%= link_to("匿评设置", start_evaluation_set_homework_common_path(homework_common, :is_in_course => is_in_course,:course_activity=>-1),:class => "postOptionLink", :remote => true)%>
-
- <% end %>
- <% if homework_common.anonymous_comment == 0%>
-
- <%= homework_anonymous_comment(homework_common, is_in_course) %>
-
- <% end %>
- <% if homework_common.anonymous_comment == 0 && (comment_status == 0 || comment_status == 1)%>
-
- <%= link_to("禁用匿评", alert_forbidden_anonymous_comment_homework_common_path(homework_common,:is_in_course => is_in_course),:class => "postOptionLink", :remote => true)%>
-
- <% end %>
-
-
-
-
- <% end%>
-
-
-
-
- <% count=homework_common.journals_for_messages.count %>
-
-
-
-
- 回复(<%= count %>)
-
-
- <%if count>3 %>
-
- <% end %>
-
-
- <% replies_all_i = 0 %>
- <% if count > 0 %>
-
-
- <% homework_common.journals_for_messages.reorder("created_on desc").each do |comment| %>
-
- <% replies_all_i = replies_all_i + 1 %>
-
-
- <%= link_to image_tag(url_to_avatar(comment.user), :width => "33", :height => "33", :class =>"mt8"), user_path(comment.user_id), :alt => "用户头像" %>
-
-
-
- <% if comment.try(:user).try(:realname) == ' ' %>
- <%= link_to comment.try(:user), user_path(comment.user_id), :class => "newsBlue mr10 f14" %>
- <% else %>
- <%= link_to comment.try(:user).try(:realname), user_path(comment.user_id), :class => "newsBlue mr10 f14" %>
- <% end %>
- <%= format_time(comment.created_on) %>
-
-
-
-
-
-
- <% end %>
-
-
- <% end %>
-
-
-
<%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), :alt => "用户头像" %>
-
-
- <%= form_for('new_form',:url => {:controller => 'words', :action => 'leave_homework_message', :id => homework_common.id},:method => "post", :remote => true) do |f|%>
- <%= hidden_field_tag 'homework_common_id',params[:homework_common_id],:value =>homework_common.id %>
- <%= hidden_field_tag 'is_in_course',params[:is_in_course],:value =>is_in_course %>
-
-
-
发送
-
-
- <% end%>
-
-
-
-
-
-
-
-
+
+ <% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
+ <%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s+"_"+homework_common.id.to_s,:alt =>"项目头像" %>
+ <% else %>
+ <%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius",:id=>"project_img_"+project.id.to_s+"_"+homework_common.id.to_s,:alt =>"项目头像") %>
+ <% end %>
+ <% time=project.updated_on %>
+ <% time=ForgeActivity.where("project_id=?",project.id).last.updated_at if ForgeActivity.where("project_id=?",project.id).last %>
+
<%=(User.find project.user_id).show_name %> (组长)
+
<%=time_from_now time %> <%= project.project_score.changeset_num %>提交
+
+ 项目名称:<%=project.name %>
+ 创建者:<%=(User.find project.user_id).show_name %>(组长)
+ 更新时间:<%=time_from_now time %>
+
+
+ <% end %>
+
+ <% end %>
+
+ <% if is_teacher%>
+ <% comment_status = homework_common.homework_detail_manual.comment_status%>
+
+
+
+
+
+ <%= link_to l(:button_edit),edit_homework_common_path(homework_common,:is_in_course => is_in_course,:course_activity=>-1), :class => "postOptionLink"%>
+
+
+ <%= link_to(l(:label_bid_respond_delete), homework_common_path(homework_common,:is_in_course => is_in_course,:course_activity=>-1),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "postOptionLink") %>
+
+
+ <%= link_to("评分设置", score_rule_set_homework_common_path(homework_common, :is_in_course => is_in_course,:course_activity=>-1),:class => "postOptionLink", :remote => true) %>
+
+ <% if homework_common.anonymous_comment == 0 &&(comment_status == 0 || comment_status == 1)%>
+
+ <%= link_to("匿评设置", start_evaluation_set_homework_common_path(homework_common, :is_in_course => is_in_course,:course_activity=>-1),:class => "postOptionLink", :remote => true)%>
+
+ <% end %>
+ <% if homework_common.anonymous_comment == 0%>
+
+ <%= homework_anonymous_comment(homework_common, is_in_course) %>
+
+ <% end %>
+ <% if homework_common.anonymous_comment == 0 && (comment_status == 0 || comment_status == 1)%>
+
+ <%= link_to("禁用匿评", alert_forbidden_anonymous_comment_homework_common_path(homework_common,:is_in_course => is_in_course),:class => "postOptionLink", :remote => true)%>
+
+ <% end %>
+
+
+
+
+ <% end%>
+
+
+
+
+ <% count=homework_common.journals_for_messages.count %>
+
+
+
+
+ 回复(<%= count %>)
+
+
+ <%if count>3 %>
+
+ <% end %>
+
+
+ <% replies_all_i = 0 %>
+ <% if count > 0 %>
+
+
+ <% homework_common.journals_for_messages.reorder("created_on desc").each do |comment| %>
+
+ <% replies_all_i = replies_all_i + 1 %>
+
+
+ <%= link_to image_tag(url_to_avatar(comment.user), :width => "33", :height => "33", :class =>"mt8"), user_path(comment.user_id), :alt => "用户头像" %>
+
+
+
+ <% if comment.try(:user).try(:realname) == ' ' %>
+ <%= link_to comment.try(:user), user_path(comment.user_id), :class => "newsBlue mr10 f14" %>
+ <% else %>
+ <%= link_to comment.try(:user).try(:realname), user_path(comment.user_id), :class => "newsBlue mr10 f14" %>
+ <% end %>
+ <%= format_time(comment.created_on) %>
+
+
+
+
+
+
+ <% end %>
+
+
+ <% end %>
+
+
+
<%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), :alt => "用户头像" %>
+
+
+ <%= form_for('new_form',:url => {:controller => 'words', :action => 'leave_homework_message', :id => homework_common.id},:method => "post", :remote => true) do |f|%>
+ <%= hidden_field_tag 'homework_common_id',params[:homework_common_id],:value =>homework_common.id %>
+ <%= hidden_field_tag 'is_in_course',params[:is_in_course],:value =>is_in_course %>
+
+
+
发送
+
+
+ <% end%>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml
index ffa2c1cc5..765060675 100644
--- a/config/locales/projects/zh.yml
+++ b/config/locales/projects/zh.yml
@@ -440,6 +440,7 @@ zh:
label_code_submit_number: 代码提交频率
label_topic_score: 讨论区得分
+ label_topic_reply_score: 讨论区回复数量
label_topic_number: 讨论区帖子数量
label_add_news: 添加了新闻
diff --git a/config/routes.rb b/config/routes.rb
index 7c3511895..25dfa042e 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -37,6 +37,14 @@ RedmineApp::Application.routes.draw do
end
end
resources :organizations do
+ resources :org_document_comments do
+ member do
+
+ end
+ collection do
+
+ end
+ end
member do
get 'setting'#, :action => 'settings', :as => 'settings'
get 'clear_org_avatar_temp'
@@ -63,14 +71,6 @@ RedmineApp::Application.routes.draw do
post 'show_org_subfield'
post 'agree_apply_subdomain'
end
- resources :org_document_comments do
- member do
-
- end
- collection do
-
- end
- end
end
Organization.where("domain is not null").each do |org|
diff --git a/db/migrate/20160108093752_add_status_to_org_messages.rb b/db/migrate/20160108093752_add_status_to_org_messages.rb
index 4fbe41fe1..2a1d4b0bb 100644
--- a/db/migrate/20160108093752_add_status_to_org_messages.rb
+++ b/db/migrate/20160108093752_add_status_to_org_messages.rb
@@ -1,5 +1,5 @@
-class AddStatusToOrgMessages < ActiveRecord::Migration
- def change
- add_column :org_messages, :status, :integer, :default => 0
- end
-end
+class AddStatusToOrgMessages < ActiveRecord::Migration
+ def change
+ add_column :org_messages, :status, :integer, :default => 0
+ end
+end
diff --git a/db/migrate/20160112085834_create_subfield_subdomain_dirs.rb b/db/migrate/20160112085834_create_subfield_subdomain_dirs.rb
index 0ef66a94c..7a3eb18e5 100644
--- a/db/migrate/20160112085834_create_subfield_subdomain_dirs.rb
+++ b/db/migrate/20160112085834_create_subfield_subdomain_dirs.rb
@@ -1,9 +1,9 @@
-class CreateSubfieldSubdomainDirs < ActiveRecord::Migration
- def change
- create_table :subfield_subdomain_dirs do |t|
- t.integer :org_subfield_id
- t.string :name
- t.timestamps
- end
- end
-end
+class CreateSubfieldSubdomainDirs < ActiveRecord::Migration
+ def change
+ create_table :subfield_subdomain_dirs do |t|
+ t.integer :org_subfield_id
+ t.string :name
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20160114022833_add_board_num_to_project_score.rb b/db/migrate/20160114022833_add_board_num_to_project_score.rb
index 4ee56a56b..88f2b0550 100644
--- a/db/migrate/20160114022833_add_board_num_to_project_score.rb
+++ b/db/migrate/20160114022833_add_board_num_to_project_score.rb
@@ -1,6 +1,6 @@
-class AddBoardNumToProjectScore < ActiveRecord::Migration
- def change
- add_column :project_scores, :board_num, :integer, :default => false
- add_column :project_scores, :attach_num, :integer, :default => false
- end
-end
+class AddBoardNumToProjectScore < ActiveRecord::Migration
+ def change
+ add_column :project_scores, :board_num, :integer, :default => false
+ add_column :project_scores, :attach_num, :integer, :default => false
+ end
+end
diff --git a/db/migrate/20160114022928_update_project_score.rb b/db/migrate/20160114022928_update_project_score.rb
index 8a632c2bc..9304f3d19 100644
--- a/db/migrate/20160114022928_update_project_score.rb
+++ b/db/migrate/20160114022928_update_project_score.rb
@@ -1,61 +1,61 @@
-class UpdateProjectScore < ActiveRecord::Migration
- def up
- project_count = Project.all.count / 30 + 2
- transaction do
- for i in 1 ... project_count do i
- Project.page(i).per(30).each do |project|
- puts project.id
- if ProjectScore.where("project_id=?", project.id).first.nil?
- puts "create project ==>#{project.id}"
- ProjectScore.create(:project_id => project.id, :score => false)
- end
- unless project.project_score.nil?
- # update boards
- unless project.boards.first.nil?
- boards_count = project.boards.first.topics.count
- project.project_score.update_attribute(:board_num, boards_count)
- end
- # update boards reply
- unless project.boards.first.nil?
- messages_count = Message.where("board_id =? and parent_id is not ?", project.boards.first.id, nil).count
- project.project_score.update_attribute(:board_message_num, messages_count)
- end
- # update issues
- unless project.issues.nil?
- issues_count = project.issues.count
- project.project_score.update_attribute(:issue_num, issues_count)
- end
- # update issue's journal
- # if !project.project_score.nil? && !project.project_score.issue_journal_num.nil?
- # project.project_score.update_attribute(:issue_journal_num, project.project_score.issue_journal_num)
- # end
- # update news
- unless project.news.nil?
- news_count = project.news.count
- project.project_score.update_attribute(:news_num, news_count)
- end
- # update attach
- unless project.attachments.nil?
- attachments_count = project.attachments.count
- project.project_score.update_attribute(:attach_num, attachments_count)
- end
- # update commits
- unless project.gpid.nil?
- g = Gitlab.client
- begin
- puts project.id
- count = g.project(project.gpid).commit_count
- rescue
- logger.error("The project's rep is not exit!")
- end
- project.project_score.update_attribute(:changeset_num, count)
- end
- end
- end
- end
- end
- end
-
- def down
- end
-end
+class UpdateProjectScore < ActiveRecord::Migration
+ def up
+ project_count = Project.all.count / 30 + 2
+ transaction do
+ for i in 1 ... project_count do i
+ Project.page(i).per(30).each do |project|
+ puts project.id
+ if ProjectScore.where("project_id=?", project.id).first.nil?
+ puts "create project ==>#{project.id}"
+ ProjectScore.create(:project_id => project.id, :score => false)
+ end
+ unless project.project_score.nil?
+ # update boards
+ unless project.boards.first.nil?
+ boards_count = project.boards.first.topics.count
+ project.project_score.update_attribute(:board_num, boards_count)
+ end
+ # update boards reply
+ unless project.boards.first.nil?
+ messages_count = Message.where("board_id =? and parent_id is not ?", project.boards.first.id, nil).count
+ project.project_score.update_attribute(:board_message_num, messages_count)
+ end
+ # update issues
+ unless project.issues.nil?
+ issues_count = project.issues.count
+ project.project_score.update_attribute(:issue_num, issues_count)
+ end
+ # update issue's journal
+ # if !project.project_score.nil? && !project.project_score.issue_journal_num.nil?
+ # project.project_score.update_attribute(:issue_journal_num, project.project_score.issue_journal_num)
+ # end
+ # update news
+ unless project.news.nil?
+ news_count = project.news.count
+ project.project_score.update_attribute(:news_num, news_count)
+ end
+ # update attach
+ unless project.attachments.nil?
+ attachments_count = project.attachments.count
+ project.project_score.update_attribute(:attach_num, attachments_count)
+ end
+ # update commits
+ unless project.gpid.nil?
+ g = Gitlab.client
+ begin
+ puts project.id
+ count = g.project(project.gpid).commit_count
+ rescue
+ logger.error("The project's rep is not exit!")
+ end
+ project.project_score.update_attribute(:changeset_num, count)
+ end
+ end
+ end
+ end
+ end
+ end
+
+ def down
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 105a28280..6e599f520 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
# encoding: UTF-8
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
@@ -11,6 +12,2020 @@
#
# It's strongly recommended to check this file into your version control system.
+ActiveRecord::Schema.define(:version => 20160113090435) do
+
+ create_table "activities", :force => true do |t|
+ t.integer "act_id", :null => false
+ t.string "act_type", :null => false
+ t.integer "user_id", :null => false
+ t.integer "activity_container_id"
+ t.string "activity_container_type", :default => ""
+ t.datetime "created_at"
+ end
+
+ add_index "activities", ["act_id", "act_type"], :name => "index_activities_on_act_id_and_act_type"
+ add_index "activities", ["user_id", "act_type"], :name => "index_activities_on_user_id_and_act_type"
+ add_index "activities", ["user_id"], :name => "index_activities_on_user_id"
+
+ create_table "activity_notifies", :force => true do |t|
+ t.integer "activity_container_id"
+ t.string "activity_container_type"
+ t.integer "activity_id"
+ t.string "activity_type"
+ t.integer "notify_to"
+ t.datetime "created_on"
+ t.integer "is_read"
+ end
+
+ add_index "activity_notifies", ["activity_container_id", "activity_container_type"], :name => "index_an_activity_container_id"
+ add_index "activity_notifies", ["created_on"], :name => "index_an_created_on"
+ add_index "activity_notifies", ["notify_to"], :name => "index_an_notify_to"
+
+ create_table "api_keys", :force => true do |t|
+ t.string "access_token"
+ t.datetime "expires_at"
+ t.integer "user_id"
+ t.boolean "active", :default => true
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ add_index "api_keys", ["access_token"], :name => "index_api_keys_on_access_token"
+ add_index "api_keys", ["user_id"], :name => "index_api_keys_on_user_id"
+
+ create_table "applied_projects", :force => true do |t|
+ t.integer "project_id", :null => false
+ t.integer "user_id", :null => false
+ end
+
+ create_table "apply_project_masters", :force => true do |t|
+ t.integer "user_id"
+ t.string "apply_type"
+ t.integer "apply_id"
+ t.integer "status"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "at_messages", :force => true do |t|
+ t.integer "user_id"
+ t.integer "at_message_id"
+ t.string "at_message_type"
+ t.boolean "viewed", :default => false
+ t.string "container_type"
+ t.integer "container_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "sender_id"
+ end
+
+ add_index "at_messages", ["user_id"], :name => "index_at_messages_on_user_id"
+
+ create_table "attachment_histories", :force => true do |t|
+ t.integer "container_id"
+ t.string "container_type"
+ t.string "filename", :default => ""
+ t.string "disk_filename", :default => ""
+ t.integer "filesize", :default => 0
+ t.string "content_type", :default => ""
+ t.string "digest", :limit => 40, :default => ""
+ t.integer "downloads", :default => 0
+ t.integer "author_id"
+ t.datetime "created_on"
+ t.string "description"
+ t.string "disk_directory"
+ t.integer "attachtype"
+ t.integer "is_public"
+ t.integer "copy_from"
+ t.integer "quotes"
+ t.integer "version"
+ t.integer "attachment_id"
+ end
+
+ create_table "attachments", :force => true do |t|
+ t.integer "container_id"
+ t.string "container_type", :limit => 30
+ t.string "filename", :default => "", :null => false
+ t.string "disk_filename", :default => "", :null => false
+ t.integer "filesize", :default => 0, :null => false
+ t.string "content_type", :default => ""
+ t.string "digest", :limit => 40, :default => "", :null => false
+ t.integer "downloads", :default => 0, :null => false
+ t.integer "author_id", :default => 0, :null => false
+ t.datetime "created_on"
+ t.string "description"
+ t.string "disk_directory"
+ t.integer "attachtype", :default => 1
+ t.integer "is_public", :default => 1
+ t.integer "copy_from"
+ t.integer "quotes"
+ end
+
+ add_index "attachments", ["author_id"], :name => "index_attachments_on_author_id"
+ add_index "attachments", ["container_id", "container_type"], :name => "index_attachments_on_container_id_and_container_type"
+ add_index "attachments", ["created_on"], :name => "index_attachments_on_created_on"
+
+ create_table "attachmentstypes", :force => true do |t|
+ t.integer "typeId", :null => false
+ t.string "typeName", :limit => 50
+ end
+
+ create_table "auth_sources", :force => true do |t|
+ t.string "type", :limit => 30, :default => "", :null => false
+ t.string "name", :limit => 60, :default => "", :null => false
+ t.string "host", :limit => 60
+ t.integer "port"
+ t.string "account"
+ t.string "account_password", :default => ""
+ t.string "base_dn"
+ t.string "attr_login", :limit => 30
+ t.string "attr_firstname", :limit => 30
+ t.string "attr_lastname", :limit => 30
+ t.string "attr_mail", :limit => 30
+ t.boolean "onthefly_register", :default => false, :null => false
+ t.boolean "tls", :default => false, :null => false
+ t.string "filter"
+ t.integer "timeout"
+ end
+
+ add_index "auth_sources", ["id", "type"], :name => "index_auth_sources_on_id_and_type"
+
+ create_table "biding_projects", :force => true do |t|
+ t.integer "project_id"
+ t.integer "bid_id"
+ t.integer "user_id"
+ t.string "description"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "reward"
+ end
+
+ create_table "bids", :force => true do |t|
+ t.string "name"
+ t.string "budget", :null => false
+ t.integer "author_id"
+ t.date "deadline"
+ t.text "description"
+ t.datetime "created_on", :null => false
+ t.datetime "updated_on", :null => false
+ t.integer "commit"
+ t.integer "reward_type"
+ t.integer "homework_type"
+ t.integer "parent_id"
+ t.string "password"
+ t.integer "is_evaluation"
+ t.integer "proportion", :default => 60
+ t.integer "comment_status", :default => 0
+ t.integer "evaluation_num", :default => 3
+ t.integer "open_anonymous_evaluation", :default => 1
+ end
+
+ create_table "blog_comments", :force => true do |t|
+ t.integer "blog_id", :null => false
+ t.integer "parent_id"
+ t.string "title", :default => "", :null => false
+ t.text "content"
+ t.integer "author_id"
+ t.integer "comments_count", :default => 0, :null => false
+ t.integer "last_comment_id"
+ t.datetime "created_on", :null => false
+ t.datetime "updated_on", :null => false
+ t.boolean "locked", :default => false
+ t.integer "sticky", :default => 0
+ t.integer "reply_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "blogs", :force => true do |t|
+ t.string "name", :default => "", :null => false
+ t.text "description"
+ t.integer "position", :default => 1
+ t.integer "article_count", :default => 0, :null => false
+ t.integer "comments_count", :default => 0, :null => false
+ t.integer "last_comments_id"
+ t.integer "parent_id"
+ t.integer "author_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "homepage_id"
+ end
+
+ create_table "boards", :force => true do |t|
+ t.integer "project_id", :null => false
+ t.string "name", :default => "", :null => false
+ t.string "description"
+ t.integer "position", :default => 1
+ t.integer "topics_count", :default => 0, :null => false
+ t.integer "messages_count", :default => 0, :null => false
+ t.integer "last_message_id"
+ t.integer "parent_id"
+ t.integer "course_id"
+ t.integer "org_subfield_id"
+ end
+
+ add_index "boards", ["last_message_id"], :name => "index_boards_on_last_message_id"
+ add_index "boards", ["project_id"], :name => "boards_project_id"
+
+ create_table "bug_to_osps", :force => true do |t|
+ t.integer "osp_id"
+ t.integer "relative_memo_id"
+ t.string "description"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "changes", :force => true do |t|
+ t.integer "changeset_id", :null => false
+ t.string "action", :limit => 1, :default => "", :null => false
+ t.text "path", :null => false
+ t.text "from_path"
+ t.string "from_revision"
+ t.string "revision"
+ t.string "branch"
+ end
+
+ add_index "changes", ["changeset_id"], :name => "changesets_changeset_id"
+
+ create_table "changeset_parents", :id => false, :force => true do |t|
+ t.integer "changeset_id", :null => false
+ t.integer "parent_id", :null => false
+ end
+
+ add_index "changeset_parents", ["changeset_id"], :name => "changeset_parents_changeset_ids"
+ add_index "changeset_parents", ["parent_id"], :name => "changeset_parents_parent_ids"
+
+ create_table "changesets", :force => true do |t|
+ t.integer "repository_id", :null => false
+ t.string "revision", :null => false
+ t.string "committer"
+ t.datetime "committed_on", :null => false
+ t.text "comments"
+ t.date "commit_date"
+ t.string "scmid"
+ t.integer "user_id"
+ end
+
+ add_index "changesets", ["committed_on"], :name => "index_changesets_on_committed_on"
+ add_index "changesets", ["repository_id", "revision"], :name => "changesets_repos_rev", :unique => true
+ add_index "changesets", ["repository_id", "scmid"], :name => "changesets_repos_scmid"
+ add_index "changesets", ["repository_id"], :name => "index_changesets_on_repository_id"
+ add_index "changesets", ["user_id"], :name => "index_changesets_on_user_id"
+
+ create_table "changesets_issues", :id => false, :force => true do |t|
+ t.integer "changeset_id", :null => false
+ t.integer "issue_id", :null => false
+ end
+
+ add_index "changesets_issues", ["changeset_id", "issue_id"], :name => "changesets_issues_ids", :unique => true
+
+ create_table "code_review_assignments", :force => true do |t|
+ t.integer "issue_id"
+ t.integer "change_id"
+ t.integer "attachment_id"
+ t.string "file_path"
+ t.string "rev"
+ t.string "rev_to"
+ t.string "action_type"
+ t.integer "changeset_id"
+ end
+
+ create_table "code_review_project_settings", :force => true do |t|
+ t.integer "project_id"
+ t.integer "tracker_id"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ t.integer "updated_by"
+ t.boolean "hide_code_review_tab", :default => false
+ t.integer "auto_relation", :default => 1
+ t.integer "assignment_tracker_id"
+ t.text "auto_assign"
+ t.integer "lock_version", :default => 0, :null => false
+ t.boolean "tracker_in_review_dialog", :default => false
+ end
+
+ create_table "code_review_user_settings", :force => true do |t|
+ t.integer "user_id", :default => 0, :null => false
+ t.integer "mail_notification", :default => 0, :null => false
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ end
+
+ create_table "code_reviews", :force => true do |t|
+ t.integer "project_id"
+ t.integer "change_id"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ t.integer "line"
+ t.integer "updated_by_id"
+ t.integer "lock_version", :default => 0, :null => false
+ t.integer "status_changed_from"
+ t.integer "status_changed_to"
+ t.integer "issue_id"
+ t.string "action_type"
+ t.string "file_path"
+ t.string "rev"
+ t.string "rev_to"
+ t.integer "attachment_id"
+ t.integer "file_count", :default => 0, :null => false
+ t.boolean "diff_all"
+ end
+
+ create_table "comments", :force => true do |t|
+ t.string "commented_type", :limit => 30, :default => "", :null => false
+ t.integer "commented_id", :default => 0, :null => false
+ t.integer "author_id", :default => 0, :null => false
+ t.text "comments"
+ t.datetime "created_on", :null => false
+ t.datetime "updated_on", :null => false
+ end
+
+ add_index "comments", ["author_id"], :name => "index_comments_on_author_id"
+ add_index "comments", ["commented_id", "commented_type"], :name => "index_comments_on_commented_id_and_commented_type"
+
+ create_table "contest_notifications", :force => true do |t|
+ t.text "title"
+ t.text "content"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "contesting_projects", :force => true do |t|
+ t.integer "project_id"
+ t.string "contest_id"
+ t.integer "user_id"
+ t.string "description"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "reward"
+ end
+
+ create_table "contesting_softapplications", :force => true do |t|
+ t.integer "softapplication_id"
+ t.integer "contest_id"
+ t.integer "user_id"
+ t.string "description"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "reward"
+ end
+
+ create_table "contestnotifications", :force => true do |t|
+ t.integer "contest_id"
+ t.string "title"
+ t.string "summary"
+ t.text "description"
+ t.integer "author_id"
+ t.integer "notificationcomments_count"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "contests", :force => true do |t|
+ t.string "name"
+ t.string "budget", :default => ""
+ t.integer "author_id"
+ t.date "deadline"
+ t.string "description"
+ t.integer "commit"
+ t.string "password"
+ t.datetime "created_on", :null => false
+ t.datetime "updated_on", :null => false
+ end
+
+ create_table "course_activities", :force => true do |t|
+ t.integer "user_id"
+ t.integer "course_id"
+ t.integer "course_act_id"
+ t.string "course_act_type"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "course_attachments", :force => true do |t|
+ t.string "filename"
+ t.string "disk_filename"
+ t.integer "filesize"
+ t.string "content_type"
+ t.string "digest"
+ t.integer "downloads"
+ t.string "author_id"
+ t.string "integer"
+ t.string "description"
+ t.string "disk_directory"
+ t.integer "attachtype"
+ t.integer "is_public"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "container_id", :default => 0
+ end
+
+ create_table "course_contributor_scores", :force => true do |t|
+ t.integer "course_id"
+ t.integer "user_id"
+ t.integer "message_num"
+ t.integer "message_reply_num"
+ t.integer "news_reply_num"
+ t.integer "resource_num"
+ t.integer "journal_num"
+ t.integer "journal_reply_num"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "total_score"
+ end
+
+ create_table "course_groups", :force => true do |t|
+ t.string "name"
+ t.integer "course_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "course_infos", :force => true do |t|
+ t.integer "course_id"
+ t.integer "user_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "course_messages", :force => true do |t|
+ t.integer "user_id"
+ t.integer "course_id"
+ t.integer "course_message_id"
+ t.string "course_message_type"
+ t.integer "viewed"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "content"
+ t.integer "status"
+ end
+
+ create_table "course_statuses", :force => true do |t|
+ t.integer "changesets_count"
+ t.integer "watchers_count"
+ t.integer "course_id"
+ t.float "grade", :default => 0.0
+ t.integer "course_ac_para", :default => 0
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "courses", :force => true do |t|
+ t.integer "tea_id"
+ t.string "name"
+ t.integer "state"
+ t.string "code"
+ t.integer "time"
+ t.string "extra"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "location"
+ t.string "term"
+ t.string "string"
+ t.string "password"
+ t.string "setup_time"
+ t.string "endup_time"
+ t.string "class_period"
+ t.integer "school_id"
+ t.text "description"
+ t.integer "status", :default => 1
+ t.integer "attachmenttype", :default => 2
+ t.integer "lft"
+ t.integer "rgt"
+ t.integer "is_public", :limit => 1, :default => 1
+ t.integer "inherit_members", :limit => 1, :default => 1
+ t.integer "open_student", :default => 0
+ t.integer "outline", :default => 0
+ t.integer "publish_resource", :default => 0
+ t.integer "is_delete", :default => 0
+ t.integer "end_time"
+ t.string "end_term"
+ end
+
+ create_table "custom_fields", :force => true do |t|
+ t.string "type", :limit => 30, :default => "", :null => false
+ t.string "name", :limit => 30, :default => "", :null => false
+ t.string "field_format", :limit => 30, :default => "", :null => false
+ t.text "possible_values"
+ t.string "regexp", :default => ""
+ t.integer "min_length", :default => 0, :null => false
+ t.integer "max_length", :default => 0, :null => false
+ t.boolean "is_required", :default => false, :null => false
+ t.boolean "is_for_all", :default => false, :null => false
+ t.boolean "is_filter", :default => false, :null => false
+ t.integer "position", :default => 1
+ t.boolean "searchable", :default => false
+ t.text "default_value"
+ t.boolean "editable", :default => true
+ t.boolean "visible", :default => true, :null => false
+ t.boolean "multiple", :default => false
+ end
+
+ add_index "custom_fields", ["id", "type"], :name => "index_custom_fields_on_id_and_type"
+
+ create_table "custom_fields_projects", :id => false, :force => true do |t|
+ t.integer "custom_field_id", :default => 0, :null => false
+ t.integer "project_id", :default => 0, :null => false
+ end
+
+ add_index "custom_fields_projects", ["custom_field_id", "project_id"], :name => "index_custom_fields_projects_on_custom_field_id_and_project_id", :unique => true
+
+ create_table "custom_fields_trackers", :id => false, :force => true do |t|
+ t.integer "custom_field_id", :default => 0, :null => false
+ t.integer "tracker_id", :default => 0, :null => false
+ end
+
+ add_index "custom_fields_trackers", ["custom_field_id", "tracker_id"], :name => "index_custom_fields_trackers_on_custom_field_id_and_tracker_id", :unique => true
+
+ create_table "custom_values", :force => true do |t|
+ t.string "customized_type", :limit => 30, :default => "", :null => false
+ t.integer "customized_id", :default => 0, :null => false
+ t.integer "custom_field_id", :default => 0, :null => false
+ t.text "value"
+ end
+
+ add_index "custom_values", ["custom_field_id"], :name => "index_custom_values_on_custom_field_id"
+ add_index "custom_values", ["customized_type", "customized_id"], :name => "custom_values_customized"
+
+ create_table "delayed_jobs", :force => true do |t|
+ t.integer "priority", :default => 0, :null => false
+ t.integer "attempts", :default => 0, :null => false
+ t.text "handler", :null => false
+ t.text "last_error"
+ t.datetime "run_at"
+ t.datetime "locked_at"
+ t.datetime "failed_at"
+ t.string "locked_by"
+ t.string "queue"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ end
+
+ add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
+
+ create_table "discuss_demos", :force => true do |t|
+ t.string "title"
+ t.text "body"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "documents", :force => true do |t|
+ t.integer "project_id", :default => 0, :null => false
+ t.integer "category_id", :default => 0, :null => false
+ t.string "title", :limit => 60, :default => "", :null => false
+ t.text "description"
+ t.datetime "created_on"
+ t.integer "user_id", :default => 0
+ t.integer "is_public", :default => 1
+ end
+
+ add_index "documents", ["category_id"], :name => "index_documents_on_category_id"
+ add_index "documents", ["created_on"], :name => "index_documents_on_created_on"
+ add_index "documents", ["project_id"], :name => "documents_project_id"
+
+ create_table "dts", :primary_key => "Num", :force => true do |t|
+ t.string "Defect", :limit => 50
+ t.string "Category", :limit => 50
+ t.string "File"
+ t.string "Method"
+ t.string "Module", :limit => 20
+ t.string "Variable", :limit => 50
+ t.integer "StartLine"
+ t.integer "IPLine"
+ t.string "IPLineCode", :limit => 200
+ t.string "Judge", :limit => 15
+ t.integer "Review", :limit => 1
+ t.string "Description"
+ t.text "PreConditions", :limit => 2147483647
+ t.text "TraceInfo", :limit => 2147483647
+ t.text "Code", :limit => 2147483647
+ t.integer "project_id"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ t.integer "id", :null => false
+ end
+
+ create_table "editor_of_documents", :force => true do |t|
+ t.integer "editor_id"
+ t.integer "org_document_comment_id"
+ t.datetime "created_at"
+ end
+
+ create_table "enabled_modules", :force => true do |t|
+ t.integer "project_id"
+ t.string "name", :null => false
+ t.integer "course_id"
+ end
+
+ add_index "enabled_modules", ["project_id"], :name => "enabled_modules_project_id"
+
+ create_table "enumerations", :force => true do |t|
+ t.string "name", :limit => 30, :default => "", :null => false
+ t.integer "position", :default => 1
+ t.boolean "is_default", :default => false, :null => false
+ t.string "type"
+ t.boolean "active", :default => true, :null => false
+ t.integer "project_id"
+ t.integer "parent_id"
+ t.string "position_name", :limit => 30
+ end
+
+ add_index "enumerations", ["id", "type"], :name => "index_enumerations_on_id_and_type"
+ add_index "enumerations", ["project_id"], :name => "index_enumerations_on_project_id"
+
+ create_table "exercise_answers", :force => true do |t|
+ t.integer "user_id"
+ t.integer "exercise_question_id"
+ t.integer "exercise_choice_id"
+ t.text "answer_text"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "exercise_choices", :force => true do |t|
+ t.integer "exercise_question_id"
+ t.text "choice_text"
+ t.integer "choice_position"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "exercise_questions", :force => true do |t|
+ t.text "question_title"
+ t.integer "question_type"
+ t.integer "question_number"
+ t.integer "exercise_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "question_score"
+ end
+
+ create_table "exercise_standard_answers", :force => true do |t|
+ t.integer "exercise_question_id"
+ t.integer "exercise_choice_id"
+ t.text "answer_text"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "exercise_users", :force => true do |t|
+ t.integer "user_id"
+ t.integer "exercise_id"
+ t.integer "score"
+ t.datetime "start_at"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.datetime "end_at"
+ t.integer "status"
+ end
+
+ create_table "exercises", :force => true do |t|
+ t.text "exercise_name"
+ t.text "exercise_description"
+ t.integer "course_id"
+ t.integer "exercise_status"
+ t.integer "user_id"
+ t.integer "time"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.datetime "publish_time"
+ t.datetime "end_time"
+ t.integer "show_result"
+ end
+
+ create_table "first_pages", :force => true do |t|
+ t.string "web_title"
+ t.string "title"
+ t.text "description"
+ t.string "page_type"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "sort_type"
+ t.integer "image_width", :default => 107
+ t.integer "image_height", :default => 63
+ t.integer "show_course", :default => 1
+ t.integer "show_contest", :default => 1
+ end
+
+ create_table "forge_activities", :force => true do |t|
+ t.integer "user_id"
+ t.integer "project_id"
+ t.integer "forge_act_id"
+ t.string "forge_act_type"
+ t.integer "org_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ add_index "forge_activities", ["forge_act_id"], :name => "index_forge_activities_on_forge_act_id"
+
+ create_table "forge_messages", :force => true do |t|
+ t.integer "user_id"
+ t.integer "project_id"
+ t.integer "forge_message_id"
+ t.string "forge_message_type"
+ t.integer "viewed"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "secret_key"
+ t.integer "status"
+ end
+
+ create_table "forums", :force => true do |t|
+ t.string "name", :null => false
+ t.text "description"
+ t.integer "topic_count", :default => 0
+ t.integer "memo_count", :default => 0
+ t.integer "last_memo_id", :default => 0
+ t.integer "creator_id", :null => false
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "sticky"
+ t.integer "locked"
+ end
+
+ create_table "groups_users", :id => false, :force => true do |t|
+ t.integer "group_id", :null => false
+ t.integer "user_id", :null => false
+ end
+
+ add_index "groups_users", ["group_id", "user_id"], :name => "groups_users_ids", :unique => true
+
+ create_table "homework_attaches", :force => true do |t|
+ t.integer "bid_id"
+ t.integer "user_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "reward"
+ t.string "name"
+ t.text "description"
+ t.integer "state"
+ t.integer "project_id", :default => 0
+ t.float "score", :default => 0.0
+ t.integer "is_teacher_score", :default => 0
+ end
+
+ add_index "homework_attaches", ["bid_id"], :name => "index_homework_attaches_on_bid_id"
+
+ create_table "homework_commons", :force => true do |t|
+ t.string "name"
+ t.integer "user_id"
+ t.text "description"
+ t.date "publish_time"
+ t.date "end_time"
+ t.integer "homework_type", :default => 1
+ t.string "late_penalty"
+ t.integer "course_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "teacher_priority", :default => 1
+ t.integer "anonymous_comment", :default => 0
+ end
+
+ add_index "homework_commons", ["course_id", "id"], :name => "index_homework_commons_on_course_id_and_id"
+
+ create_table "homework_detail_groups", :force => true do |t|
+ t.integer "homework_common_id"
+ t.integer "min_num"
+ t.integer "max_num"
+ t.integer "base_on_project"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ add_index "homework_detail_groups", ["homework_common_id"], :name => "index_homework_detail_groups_on_homework_common_id"
+
+ create_table "homework_detail_manuals", :force => true do |t|
+ t.float "ta_proportion"
+ t.integer "comment_status"
+ t.date "evaluation_start"
+ t.date "evaluation_end"
+ t.integer "evaluation_num"
+ t.integer "absence_penalty", :default => 1
+ t.integer "homework_common_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "homework_detail_programings", :force => true do |t|
+ t.string "language"
+ t.text "standard_code", :limit => 2147483647
+ t.integer "homework_common_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.float "ta_proportion", :default => 0.1
+ t.integer "question_id"
+ end
+
+ create_table "homework_evaluations", :force => true do |t|
+ t.string "user_id"
+ t.string "homework_attach_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "homework_for_courses", :force => true do |t|
+ t.integer "course_id"
+ t.integer "bid_id"
+ end
+
+ add_index "homework_for_courses", ["bid_id"], :name => "index_homework_for_courses_on_bid_id"
+ add_index "homework_for_courses", ["course_id"], :name => "index_homework_for_courses_on_course_id"
+
+ create_table "homework_tests", :force => true do |t|
+ t.text "input"
+ t.text "output"
+ t.integer "homework_common_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "result"
+ t.text "error_msg"
+ end
+
+ create_table "homework_users", :force => true do |t|
+ t.string "homework_attach_id"
+ t.string "user_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "invite_lists", :force => true do |t|
+ t.integer "project_id"
+ t.integer "user_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "mail"
+ end
+
+ create_table "issue_categories", :force => true do |t|
+ t.integer "project_id", :default => 0, :null => false
+ t.string "name", :limit => 30, :default => "", :null => false
+ t.integer "assigned_to_id"
+ end
+
+ add_index "issue_categories", ["assigned_to_id"], :name => "index_issue_categories_on_assigned_to_id"
+ add_index "issue_categories", ["project_id"], :name => "issue_categories_project_id"
+
+ create_table "issue_relations", :force => true do |t|
+ t.integer "issue_from_id", :null => false
+ t.integer "issue_to_id", :null => false
+ t.string "relation_type", :default => "", :null => false
+ t.integer "delay"
+ end
+
+ add_index "issue_relations", ["issue_from_id", "issue_to_id"], :name => "index_issue_relations_on_issue_from_id_and_issue_to_id", :unique => true
+ add_index "issue_relations", ["issue_from_id"], :name => "index_issue_relations_on_issue_from_id"
+ add_index "issue_relations", ["issue_to_id"], :name => "index_issue_relations_on_issue_to_id"
+
+ create_table "issue_statuses", :force => true do |t|
+ t.string "name", :limit => 30, :default => "", :null => false
+ t.boolean "is_closed", :default => false, :null => false
+ t.boolean "is_default", :default => false, :null => false
+ t.integer "position", :default => 1
+ t.integer "default_done_ratio"
+ end
+
+ add_index "issue_statuses", ["is_closed"], :name => "index_issue_statuses_on_is_closed"
+ add_index "issue_statuses", ["is_default"], :name => "index_issue_statuses_on_is_default"
+ add_index "issue_statuses", ["position"], :name => "index_issue_statuses_on_position"
+
+ create_table "issues", :force => true do |t|
+ t.integer "tracker_id", :null => false
+ t.integer "project_id", :null => false
+ t.string "subject", :default => "", :null => false
+ t.text "description"
+ t.date "due_date"
+ t.integer "category_id"
+ t.integer "status_id", :null => false
+ t.integer "assigned_to_id"
+ t.integer "priority_id", :null => false
+ t.integer "fixed_version_id"
+ t.integer "author_id", :null => false
+ t.integer "lock_version", :default => 0, :null => false
+ t.datetime "created_on"
+ t.datetime "updated_on"
+ t.date "start_date"
+ t.integer "done_ratio", :default => 0, :null => false
+ t.float "estimated_hours"
+ t.integer "parent_id"
+ t.integer "root_id"
+ t.integer "lft"
+ t.integer "rgt"
+ t.boolean "is_private", :default => false, :null => false
+ t.datetime "closed_on"
+ t.integer "project_issues_index"
+ end
+
+ add_index "issues", ["assigned_to_id"], :name => "index_issues_on_assigned_to_id"
+ add_index "issues", ["author_id"], :name => "index_issues_on_author_id"
+ add_index "issues", ["category_id"], :name => "index_issues_on_category_id"
+ add_index "issues", ["created_on"], :name => "index_issues_on_created_on"
+ add_index "issues", ["fixed_version_id"], :name => "index_issues_on_fixed_version_id"
+ add_index "issues", ["priority_id"], :name => "index_issues_on_priority_id"
+ add_index "issues", ["project_id"], :name => "issues_project_id"
+ add_index "issues", ["root_id", "lft", "rgt"], :name => "index_issues_on_root_id_and_lft_and_rgt"
+ add_index "issues", ["status_id"], :name => "index_issues_on_status_id"
+ add_index "issues", ["tracker_id"], :name => "index_issues_on_tracker_id"
+
+ create_table "join_in_competitions", :force => true do |t|
+ t.integer "user_id"
+ t.integer "competition_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "join_in_contests", :force => true do |t|
+ t.integer "user_id"
+ t.integer "bid_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "journal_details", :force => true do |t|
+ t.integer "journal_id", :default => 0, :null => false
+ t.string "property", :limit => 30, :default => "", :null => false
+ t.string "prop_key", :limit => 30, :default => "", :null => false
+ t.text "old_value"
+ t.text "value"
+ end
+
+ add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id"
+
+ create_table "journal_replies", :id => false, :force => true do |t|
+ t.integer "journal_id"
+ t.integer "user_id"
+ t.integer "reply_id"
+ end
+
+ add_index "journal_replies", ["journal_id"], :name => "index_journal_replies_on_journal_id"
+ add_index "journal_replies", ["reply_id"], :name => "index_journal_replies_on_reply_id"
+ add_index "journal_replies", ["user_id"], :name => "index_journal_replies_on_user_id"
+
+ create_table "journals", :force => true do |t|
+ t.integer "journalized_id", :default => 0, :null => false
+ t.string "journalized_type", :limit => 30, :default => "", :null => false
+ t.integer "user_id", :default => 0, :null => false
+ t.text "notes"
+ t.datetime "created_on", :null => false
+ t.boolean "private_notes", :default => false, :null => false
+ end
+
+ add_index "journals", ["created_on"], :name => "index_journals_on_created_on"
+ add_index "journals", ["journalized_id", "journalized_type"], :name => "journals_journalized_id"
+ add_index "journals", ["journalized_id"], :name => "index_journals_on_journalized_id"
+ add_index "journals", ["user_id"], :name => "index_journals_on_user_id"
+
+ create_table "journals_for_messages", :force => true do |t|
+ t.integer "jour_id"
+ t.string "jour_type"
+ t.integer "user_id"
+ t.text "notes"
+ t.integer "status"
+ t.integer "reply_id"
+ t.datetime "created_on", :null => false
+ t.datetime "updated_on", :null => false
+ t.string "m_parent_id"
+ t.boolean "is_readed"
+ t.integer "m_reply_count"
+ t.integer "m_reply_id"
+ t.integer "is_comprehensive_evaluation"
+ t.integer "private", :default => 0
+ end
+
+ create_table "kindeditor_assets", :force => true do |t|
+ t.string "asset"
+ t.integer "file_size"
+ t.string "file_type"
+ t.integer "owner_id"
+ t.string "asset_type"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "owner_type", :default => 0
+ end
+
+ create_table "member_roles", :force => true do |t|
+ t.integer "member_id", :null => false
+ t.integer "role_id", :null => false
+ t.integer "inherited_from"
+ end
+
+ add_index "member_roles", ["member_id"], :name => "index_member_roles_on_member_id"
+ add_index "member_roles", ["role_id"], :name => "index_member_roles_on_role_id"
+
+ create_table "members", :force => true do |t|
+ t.integer "user_id", :default => 0, :null => false
+ t.integer "project_id", :default => 0
+ t.datetime "created_on"
+ t.boolean "mail_notification", :default => false, :null => false
+ t.integer "course_id", :default => -1
+ t.integer "course_group_id", :default => 0
+ end
+
+ add_index "members", ["project_id"], :name => "index_members_on_project_id"
+ add_index "members", ["user_id", "project_id", "course_id"], :name => "index_members_on_user_id_and_project_id", :unique => true
+ add_index "members", ["user_id"], :name => "index_members_on_user_id"
+
+ create_table "memo_messages", :force => true do |t|
+ t.integer "user_id"
+ t.integer "forum_id"
+ t.integer "memo_id"
+ t.string "memo_type"
+ t.integer "viewed"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "memos", :force => true do |t|
+ t.integer "forum_id", :null => false
+ t.integer "parent_id"
+ t.string "subject", :null => false
+ t.text "content", :null => false
+ t.integer "author_id", :null => false
+ t.integer "replies_count", :default => 0
+ t.integer "last_reply_id"
+ t.boolean "lock", :default => false
+ t.boolean "sticky", :default => false
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "viewed_count", :default => 0
+ end
+
+ create_table "message_alls", :force => true do |t|
+ t.integer "user_id"
+ t.integer "message_id"
+ t.string "message_type"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "messages", :force => true do |t|
+ t.integer "board_id", :null => false
+ t.integer "parent_id"
+ t.string "subject", :default => "", :null => false
+ t.text "content"
+ t.integer "author_id"
+ t.integer "replies_count", :default => 0, :null => false
+ t.integer "last_reply_id"
+ t.datetime "created_on", :null => false
+ t.datetime "updated_on", :null => false
+ t.boolean "locked", :default => false
+ t.integer "sticky", :default => 0
+ t.integer "reply_id"
+ t.integer "quotes"
+ end
+
+ add_index "messages", ["author_id"], :name => "index_messages_on_author_id"
+ add_index "messages", ["board_id"], :name => "messages_board_id"
+ add_index "messages", ["created_on"], :name => "index_messages_on_created_on"
+ add_index "messages", ["last_reply_id"], :name => "index_messages_on_last_reply_id"
+ add_index "messages", ["parent_id"], :name => "messages_parent_id"
+
+ create_table "news", :force => true do |t|
+ t.integer "project_id"
+ t.string "title", :limit => 60, :default => "", :null => false
+ t.string "summary", :default => ""
+ t.text "description"
+ t.integer "author_id", :default => 0, :null => false
+ t.datetime "created_on"
+ t.integer "comments_count", :default => 0, :null => false
+ t.integer "course_id"
+ t.integer "sticky", :default => 0
+ end
+
+ add_index "news", ["author_id"], :name => "index_news_on_author_id"
+ add_index "news", ["created_on"], :name => "index_news_on_created_on"
+ add_index "news", ["project_id"], :name => "news_project_id"
+
+ create_table "no_uses", :force => true do |t|
+ t.integer "user_id", :null => false
+ t.string "no_use_type"
+ t.integer "no_use_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "notificationcomments", :force => true do |t|
+ t.string "notificationcommented_type"
+ t.integer "notificationcommented_id"
+ t.integer "author_id"
+ t.text "notificationcomments"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "onclick_times", :force => true do |t|
+ t.integer "user_id"
+ t.datetime "onclick_time"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "open_id_authentication_associations", :force => true do |t|
+ t.integer "issued"
+ t.integer "lifetime"
+ t.string "handle"
+ t.string "assoc_type"
+ t.binary "server_url"
+ t.binary "secret"
+ end
+
+ create_table "open_id_authentication_nonces", :force => true do |t|
+ t.integer "timestamp", :null => false
+ t.string "server_url"
+ t.string "salt", :null => false
+ end
+
+ create_table "open_source_projects", :force => true do |t|
+ t.string "name"
+ t.text "description"
+ t.integer "commit_count", :default => 0
+ t.integer "code_line", :default => 0
+ t.integer "users_count", :default => 0
+ t.date "last_commit_time"
+ t.string "url"
+ t.date "date_collected"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "option_numbers", :force => true do |t|
+ t.integer "user_id"
+ t.integer "memo"
+ t.integer "messages_for_issues"
+ t.integer "issues_status"
+ t.integer "replay_for_message"
+ t.integer "replay_for_memo"
+ t.integer "follow"
+ t.integer "tread"
+ t.integer "praise_by_one"
+ t.integer "praise_by_two"
+ t.integer "praise_by_three"
+ t.integer "tread_by_one"
+ t.integer "tread_by_two"
+ t.integer "tread_by_three"
+ t.integer "changeset"
+ t.integer "document"
+ t.integer "attachment"
+ t.integer "issue_done_ratio"
+ t.integer "post_issue"
+ t.integer "score_type"
+ t.integer "total_score"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "project_id"
+ end
+
+ create_table "org_activities", :force => true do |t|
+ t.integer "user_id"
+ t.integer "org_act_id"
+ t.string "org_act_type"
+ t.integer "container_id"
+ t.string "container_type"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "org_courses", :force => true do |t|
+ t.integer "organization_id"
+ t.integer "course_id"
+ t.datetime "created_at"
+ end
+
+ create_table "org_document_comments", :force => true do |t|
+ t.text "title"
+ t.text "content"
+ t.integer "organization_id"
+ t.integer "creator_id"
+ t.integer "parent_id"
+ t.integer "reply_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.boolean "locked", :default => false
+ t.integer "sticky", :default => 0
+ t.integer "org_subfield_id"
+ end
+
+ create_table "org_member_roles", :force => true do |t|
+ t.integer "org_member_id"
+ t.integer "role_id"
+ end
+
+ create_table "org_members", :force => true do |t|
+ t.integer "user_id"
+ t.integer "organization_id"
+ t.string "role"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "org_messages", :force => true do |t|
+ t.integer "user_id"
+ t.integer "sender_id"
+ t.integer "organization_id"
+ t.string "message_type"
+ t.integer "message_id"
+ t.integer "viewed"
+ t.string "content"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "org_projects", :force => true do |t|
+ t.integer "organization_id"
+ t.integer "project_id"
+ t.datetime "created_at"
+ end
+
+ create_table "org_subfield_messages", :force => true do |t|
+ t.integer "org_subfield_id"
+ t.integer "message_id"
+ t.string "message_type"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "org_subfields", :force => true do |t|
+ t.integer "organization_id"
+ t.integer "priority"
+ t.string "name"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "field_type"
+ t.integer "hide", :default => 0
+ end
+
+ create_table "organizations", :force => true do |t|
+ t.string "name"
+ t.text "description"
+ t.integer "creator_id"
+ t.integer "home_id"
+ t.string "domain"
+ t.boolean "is_public"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "phone_app_versions", :force => true do |t|
+ t.string "version"
+ t.text "description"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "poll_answers", :force => true do |t|
+ t.integer "poll_question_id"
+ t.text "answer_text"
+ t.integer "answer_position"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "poll_questions", :force => true do |t|
+ t.string "question_title"
+ t.integer "question_type"
+ t.integer "is_necessary"
+ t.integer "poll_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "question_number"
+ end
+
+ create_table "poll_users", :force => true do |t|
+ t.integer "user_id"
+ t.integer "poll_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "poll_votes", :force => true do |t|
+ t.integer "user_id"
+ t.integer "poll_question_id"
+ t.integer "poll_answer_id"
+ t.text "vote_text"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "polls", :force => true do |t|
+ t.string "polls_name"
+ t.string "polls_type"
+ t.integer "polls_group_id"
+ t.integer "polls_status"
+ t.integer "user_id"
+ t.datetime "published_at"
+ t.datetime "closed_at"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.text "polls_description"
+ t.integer "show_result", :default => 1
+ end
+
+ create_table "praise_tread_caches", :force => true do |t|
+ t.integer "object_id", :null => false
+ t.string "object_type"
+ t.integer "praise_num"
+ t.integer "tread_num"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "praise_treads", :force => true do |t|
+ t.integer "user_id", :null => false
+ t.integer "praise_tread_object_id"
+ t.string "praise_tread_object_type"
+ t.integer "praise_or_tread"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "principal_activities", :force => true do |t|
+ t.integer "user_id"
+ t.integer "principal_id"
+ t.integer "principal_act_id"
+ t.string "principal_act_type"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "project_infos", :force => true do |t|
+ t.integer "project_id"
+ t.integer "user_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "project_scores", :force => true do |t|
+ t.string "project_id"
+ t.integer "score"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "issue_num", :default => 0
+ t.integer "issue_journal_num", :default => 0
+ t.integer "news_num", :default => 0
+ t.integer "documents_num", :default => 0
+ t.integer "changeset_num", :default => 0
+ t.integer "board_message_num", :default => 0
+ end
+
+ create_table "project_statuses", :force => true do |t|
+ t.integer "changesets_count"
+ t.integer "watchers_count"
+ t.integer "project_id"
+ t.integer "project_type"
+ t.float "grade", :default => 0.0
+ t.integer "course_ac_para", :default => 0
+ end
+
+ add_index "project_statuses", ["grade"], :name => "index_project_statuses_on_grade"
+
+ create_table "projecting_softapplictions", :force => true do |t|
+ t.integer "user_id"
+ t.integer "softapplication_id"
+ t.integer "project_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "projects", :force => true do |t|
+ t.string "name", :default => "", :null => false
+ t.text "description"
+ t.string "homepage", :default => ""
+ t.boolean "is_public", :default => true, :null => false
+ t.integer "parent_id"
+ t.datetime "created_on"
+ t.datetime "updated_on"
+ t.string "identifier"
+ t.integer "status", :default => 1, :null => false
+ t.integer "lft"
+ t.integer "rgt"
+ t.boolean "inherit_members", :default => false, :null => false
+ t.integer "project_type"
+ t.boolean "hidden_repo", :default => false, :null => false
+ t.integer "attachmenttype", :default => 1
+ t.integer "user_id"
+ t.integer "dts_test", :default => 0
+ t.string "enterprise_name"
+ t.integer "organization_id"
+ t.integer "project_new_type"
+ t.integer "gpid"
+ t.integer "forked_from_project_id"
+ t.integer "forked_count"
+ t.integer "commits_count", :default => 0
+ t.integer "publish_resource", :default => 0
+ t.integer "issues_count", :default => 0
+ t.integer "attachments_count", :default => 0
+ t.integer "boards_count", :default => 0
+ t.integer "news_count", :default => 0
+ t.integer "acts_count", :default => 0
+ t.integer "journals_count", :default => 0
+ t.integer "boards_reply_count", :default => 0
+ end
+
+ add_index "projects", ["lft"], :name => "index_projects_on_lft"
+ add_index "projects", ["rgt"], :name => "index_projects_on_rgt"
+
+ create_table "projects_trackers", :id => false, :force => true do |t|
+ t.integer "project_id", :default => 0, :null => false
+ t.integer "tracker_id", :default => 0, :null => false
+ end
+
+ add_index "projects_trackers", ["project_id", "tracker_id"], :name => "projects_trackers_unique", :unique => true
+ add_index "projects_trackers", ["project_id"], :name => "projects_trackers_project_id"
+
+ create_table "queries", :force => true do |t|
+ t.integer "project_id"
+ t.string "name", :default => "", :null => false
+ t.text "filters"
+ t.integer "user_id", :default => 0, :null => false
+ t.boolean "is_public", :default => false, :null => false
+ t.text "column_names"
+ t.text "sort_criteria"
+ t.string "group_by"
+ t.string "type"
+ end
+
+ add_index "queries", ["project_id"], :name => "index_queries_on_project_id"
+ add_index "queries", ["user_id"], :name => "index_queries_on_user_id"
+
+ create_table "relative_memo_to_open_source_projects", :force => true do |t|
+ t.integer "osp_id"
+ t.integer "relative_memo_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "relative_memos", :force => true do |t|
+ t.integer "osp_id"
+ t.integer "parent_id"
+ t.string "subject", :null => false
+ t.text "content", :limit => 16777215, :null => false
+ t.integer "author_id"
+ t.integer "replies_count", :default => 0
+ t.integer "last_reply_id"
+ t.boolean "lock", :default => false
+ t.boolean "sticky", :default => false
+ t.boolean "is_quote", :default => false
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "viewed_count_crawl", :default => 0
+ t.integer "viewed_count_local", :default => 0
+ t.string "url"
+ t.string "username"
+ t.string "userhomeurl"
+ t.date "date_collected"
+ t.string "topic_resource"
+ end
+
+ create_table "repositories", :force => true do |t|
+ t.integer "project_id", :default => 0, :null => false
+ t.string "url", :default => "", :null => false
+ t.string "login", :limit => 60, :default => ""
+ t.string "password", :default => ""
+ t.string "root_url", :default => ""
+ t.string "type"
+ t.string "path_encoding", :limit => 64
+ t.string "log_encoding", :limit => 64
+ t.text "extra_info"
+ t.string "identifier"
+ t.boolean "is_default", :default => false
+ t.boolean "hidden", :default => false
+ end
+
+ add_index "repositories", ["project_id"], :name => "index_repositories_on_project_id"
+
+ create_table "rich_rich_files", :force => true do |t|
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "rich_file_file_name"
+ t.string "rich_file_content_type"
+ t.integer "rich_file_file_size"
+ t.datetime "rich_file_updated_at"
+ t.string "owner_type"
+ t.integer "owner_id"
+ t.text "uri_cache"
+ t.string "simplified_type", :default => "file"
+ end
+
+ create_table "roles", :force => true do |t|
+ t.string "name", :limit => 30, :default => "", :null => false
+ t.integer "position", :default => 1
+ t.boolean "assignable", :default => true
+ t.integer "builtin", :default => 0, :null => false
+ t.text "permissions"
+ t.string "issues_visibility", :limit => 30, :default => "default", :null => false
+ end
+
+ create_table "schools", :force => true do |t|
+ t.string "name"
+ t.string "province"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "logo_link"
+ t.string "pinyin"
+ end
+
+ create_table "seems_rateable_cached_ratings", :force => true do |t|
+ t.integer "cacheable_id", :limit => 8
+ t.string "cacheable_type"
+ t.float "avg", :null => false
+ t.integer "cnt", :null => false
+ t.string "dimension"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "seems_rateable_rates", :force => true do |t|
+ t.integer "rater_id", :limit => 8
+ t.integer "rateable_id"
+ t.string "rateable_type"
+ t.float "stars", :null => false
+ t.string "dimension"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "is_teacher_score", :default => 0
+ end
+
+ create_table "settings", :force => true do |t|
+ t.string "name", :default => "", :null => false
+ t.text "value"
+ t.datetime "updated_on"
+ end
+
+ add_index "settings", ["name"], :name => "index_settings_on_name"
+
+ create_table "shares", :force => true do |t|
+ t.date "created_on"
+ t.string "url"
+ t.string "title"
+ t.integer "share_type"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "project_id"
+ t.integer "user_id"
+ t.string "description"
+ end
+
+ create_table "shield_activities", :force => true do |t|
+ t.string "container_type"
+ t.integer "container_id"
+ t.string "shield_type"
+ t.integer "shield_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "softapplications", :force => true do |t|
+ t.string "name"
+ t.text "description"
+ t.integer "app_type_id"
+ t.string "app_type_name"
+ t.string "android_min_version_available"
+ t.integer "user_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "contest_id"
+ t.integer "softapplication_id"
+ t.integer "is_public"
+ t.string "application_developers"
+ t.string "deposit_project_url"
+ t.string "deposit_project"
+ t.integer "project_id"
+ end
+
+ create_table "student_work_projects", :force => true do |t|
+ t.integer "homework_common_id"
+ t.integer "student_work_id"
+ t.integer "project_id"
+ t.integer "user_id"
+ t.integer "is_leader"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ add_index "student_work_projects", ["homework_common_id"], :name => "index_student_work_projects_on_homework_common_id"
+ add_index "student_work_projects", ["project_id"], :name => "index_student_work_projects_on_project_id"
+ add_index "student_work_projects", ["student_work_id"], :name => "index_student_work_projects_on_student_work_id"
+ add_index "student_work_projects", ["user_id"], :name => "index_student_work_projects_on_user_id"
+
+ create_table "student_work_tests", :force => true do |t|
+ t.integer "student_work_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "status", :default => 9
+ t.text "results"
+ t.text "src"
+ end
+
+ create_table "student_works", :force => true do |t|
+ t.string "name"
+ t.text "description", :limit => 2147483647
+ t.integer "homework_common_id"
+ t.integer "user_id"
+ t.float "final_score"
+ t.float "teacher_score"
+ t.float "student_score"
+ t.float "teaching_asistant_score"
+ t.integer "project_id", :default => 0
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "late_penalty", :default => 0
+ t.integer "absence_penalty", :default => 0
+ t.float "system_score", :default => 0.0
+ t.boolean "is_test", :default => false
+ end
+
+ add_index "student_works", ["homework_common_id", "user_id"], :name => "index_student_works_on_homework_common_id_and_user_id"
+
+ create_table "student_works_evaluation_distributions", :force => true do |t|
+ t.integer "student_work_id"
+ t.integer "user_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "student_works_scores", :force => true do |t|
+ t.integer "student_work_id"
+ t.integer "user_id"
+ t.integer "score"
+ t.text "comment"
+ t.integer "reviewer_role"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "students_for_courses", :force => true do |t|
+ t.integer "student_id"
+ t.integer "course_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ add_index "students_for_courses", ["course_id"], :name => "index_students_for_courses_on_course_id"
+ add_index "students_for_courses", ["student_id"], :name => "index_students_for_courses_on_student_id"
+
+ create_table "system_messages", :force => true do |t|
+ t.integer "user_id"
+ t.string "content"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.text "description"
+ t.string "subject"
+ end
+
+ create_table "taggings", :force => true do |t|
+ t.integer "tag_id"
+ t.integer "taggable_id"
+ t.string "taggable_type"
+ t.integer "tagger_id"
+ t.string "tagger_type"
+ t.string "context", :limit => 128
+ t.datetime "created_at"
+ end
+
+ add_index "taggings", ["tag_id"], :name => "index_taggings_on_tag_id"
+ add_index "taggings", ["taggable_id", "taggable_type", "context"], :name => "index_taggings_on_taggable_id_and_taggable_type_and_context"
+ add_index "taggings", ["taggable_type"], :name => "index_taggings_on_taggable_type"
+
+ create_table "tags", :force => true do |t|
+ t.string "name"
+ end
+
+ create_table "teachers", :force => true do |t|
+ t.string "tea_name"
+ t.string "location"
+ t.integer "couurse_time"
+ t.integer "course_code"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "extra"
+ end
+
+ create_table "time_entries", :force => true do |t|
+ t.integer "project_id", :null => false
+ t.integer "user_id", :null => false
+ t.integer "issue_id"
+ t.float "hours", :null => false
+ t.string "comments"
+ t.integer "activity_id", :null => false
+ t.date "spent_on", :null => false
+ t.integer "tyear", :null => false
+ t.integer "tmonth", :null => false
+ t.integer "tweek", :null => false
+ t.datetime "created_on", :null => false
+ t.datetime "updated_on", :null => false
+ end
+
+ add_index "time_entries", ["activity_id"], :name => "index_time_entries_on_activity_id"
+ add_index "time_entries", ["created_on"], :name => "index_time_entries_on_created_on"
+ add_index "time_entries", ["issue_id"], :name => "time_entries_issue_id"
+ add_index "time_entries", ["project_id"], :name => "time_entries_project_id"
+ add_index "time_entries", ["user_id"], :name => "index_time_entries_on_user_id"
+
+ create_table "tokens", :force => true do |t|
+ t.integer "user_id", :default => 0, :null => false
+ t.string "action", :limit => 30, :default => "", :null => false
+ t.string "value", :limit => 40, :default => "", :null => false
+ t.datetime "created_on", :null => false
+ end
+
+ add_index "tokens", ["user_id"], :name => "index_tokens_on_user_id"
+ add_index "tokens", ["value"], :name => "tokens_value", :unique => true
+
+ create_table "trackers", :force => true do |t|
+ t.string "name", :limit => 30, :default => "", :null => false
+ t.boolean "is_in_chlog", :default => false, :null => false
+ t.integer "position", :default => 1
+ t.boolean "is_in_roadmap", :default => true, :null => false
+ t.integer "fields_bits", :default => 0
+ end
+
+ create_table "user_activities", :force => true do |t|
+ t.string "act_type"
+ t.integer "act_id"
+ t.string "container_type"
+ t.integer "container_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "user_id"
+ end
+
+ create_table "user_extensions", :force => true do |t|
+ t.integer "user_id", :null => false
+ t.date "birthday"
+ t.string "brief_introduction"
+ t.integer "gender"
+ t.string "location"
+ t.string "occupation"
+ t.integer "work_experience"
+ t.integer "zip_code"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.string "technical_title"
+ t.integer "identity"
+ t.string "student_id"
+ t.string "teacher_realname"
+ t.string "student_realname"
+ t.string "location_city"
+ t.integer "school_id"
+ t.string "description", :default => ""
+ end
+
+ create_table "user_feedback_messages", :force => true do |t|
+ t.integer "user_id"
+ t.integer "journals_for_message_id"
+ t.string "journals_for_message_type"
+ t.integer "viewed"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "user_grades", :force => true do |t|
+ t.integer "user_id", :null => false
+ t.integer "project_id", :null => false
+ t.float "grade", :default => 0.0
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ add_index "user_grades", ["grade"], :name => "index_user_grades_on_grade"
+ add_index "user_grades", ["project_id"], :name => "index_user_grades_on_project_id"
+ add_index "user_grades", ["user_id"], :name => "index_user_grades_on_user_id"
+
+ create_table "user_levels", :force => true do |t|
+ t.integer "user_id"
+ t.integer "level"
+ end
+
+ create_table "user_preferences", :force => true do |t|
+ t.integer "user_id", :default => 0, :null => false
+ t.text "others"
+ t.boolean "hide_mail", :default => false
+ t.string "time_zone"
+ end
+
+ add_index "user_preferences", ["user_id"], :name => "index_user_preferences_on_user_id"
+
+ create_table "user_score_details", :force => true do |t|
+ t.integer "current_user_id"
+ t.integer "target_user_id"
+ t.string "score_type"
+ t.string "score_action"
+ t.integer "user_id"
+ t.integer "old_score"
+ t.integer "new_score"
+ t.integer "current_user_level"
+ t.integer "target_user_level"
+ t.integer "score_changeable_obj_id"
+ t.string "score_changeable_obj_type"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "user_scores", :force => true do |t|
+ t.integer "user_id", :null => false
+ t.integer "collaboration"
+ t.integer "influence"
+ t.integer "skill"
+ t.integer "active"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "user_statuses", :force => true do |t|
+ t.integer "changesets_count"
+ t.integer "watchers_count"
+ t.integer "user_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.float "grade", :default => 0.0
+ end
+
+ add_index "user_statuses", ["changesets_count"], :name => "index_user_statuses_on_changesets_count"
+ add_index "user_statuses", ["grade"], :name => "index_user_statuses_on_grade"
+ add_index "user_statuses", ["watchers_count"], :name => "index_user_statuses_on_watchers_count"
+
+ create_table "users", :force => true do |t|
+ t.string "login", :default => "", :null => false
+ t.string "hashed_password", :limit => 40, :default => "", :null => false
+ t.string "firstname", :limit => 30, :default => "", :null => false
+ t.string "lastname", :default => "", :null => false
+ t.string "mail", :limit => 60, :default => "", :null => false
+ t.boolean "admin", :default => false, :null => false
+ t.integer "status", :default => 1, :null => false
+ t.datetime "last_login_on"
+ t.string "language", :limit => 5, :default => ""
+ t.integer "auth_source_id"
+ t.datetime "created_on"
+ t.datetime "updated_on"
+ t.string "type"
+ t.string "identity_url"
+ t.string "mail_notification", :default => "", :null => false
+ t.string "salt", :limit => 64
+ t.integer "gid"
+ end
+
+ add_index "users", ["auth_source_id"], :name => "index_users_on_auth_source_id"
+ add_index "users", ["id", "type"], :name => "index_users_on_id_and_type"
+ add_index "users", ["type"], :name => "index_users_on_type"
+
+ create_table "versions", :force => true do |t|
+ t.integer "project_id", :default => 0, :null => false
+ t.string "name", :default => "", :null => false
+ t.string "description", :default => ""
+ t.date "effective_date"
+ t.datetime "created_on"
+ t.datetime "updated_on"
+ t.string "wiki_page_title"
+ t.string "status", :default => "open"
+ t.string "sharing", :default => "none", :null => false
+ end
+
+ add_index "versions", ["project_id"], :name => "versions_project_id"
+ add_index "versions", ["sharing"], :name => "index_versions_on_sharing"
+
+ create_table "visitors", :force => true do |t|
+ t.integer "user_id"
+ t.integer "master_id"
+ t.datetime "updated_on"
+ t.datetime "created_on"
+ end
+
+ add_index "visitors", ["master_id"], :name => "index_visitors_master_id"
+ add_index "visitors", ["updated_on"], :name => "index_visitors_updated_on"
+ add_index "visitors", ["user_id"], :name => "index_visitors_user_id"
+
+ create_table "watchers", :force => true do |t|
+ t.string "watchable_type", :default => "", :null => false
+ t.integer "watchable_id", :default => 0, :null => false
+ t.integer "user_id"
+ end
+
+ add_index "watchers", ["user_id", "watchable_type"], :name => "watchers_user_id_type"
+ add_index "watchers", ["user_id"], :name => "index_watchers_on_user_id"
+ add_index "watchers", ["watchable_id", "watchable_type"], :name => "index_watchers_on_watchable_id_and_watchable_type"
+
+ create_table "web_footer_companies", :force => true do |t|
+ t.string "name"
+ t.string "logo_size"
+ t.string "url"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "web_footer_oranizers", :force => true do |t|
+ t.string "name"
+ t.text "description"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "wiki_content_versions", :force => true do |t|
+ t.integer "wiki_content_id", :null => false
+ t.integer "page_id", :null => false
+ t.integer "author_id"
+ t.binary "data", :limit => 2147483647
+ t.string "compression", :limit => 6, :default => ""
+ t.string "comments", :default => ""
+ t.datetime "updated_on", :null => false
+ t.integer "version", :null => false
+ end
+
+ add_index "wiki_content_versions", ["updated_on"], :name => "index_wiki_content_versions_on_updated_on"
+ add_index "wiki_content_versions", ["wiki_content_id"], :name => "wiki_content_versions_wcid"
+
+ create_table "wiki_contents", :force => true do |t|
+ t.integer "page_id", :null => false
+ t.integer "author_id"
+ t.text "text", :limit => 2147483647
+ t.string "comments", :default => ""
+ t.datetime "updated_on", :null => false
+ t.integer "version", :null => false
+ end
+
+ add_index "wiki_contents", ["author_id"], :name => "index_wiki_contents_on_author_id"
+ add_index "wiki_contents", ["page_id"], :name => "wiki_contents_page_id"
+
+ create_table "wiki_pages", :force => true do |t|
+ t.integer "wiki_id", :null => false
+ t.string "title", :null => false
+ t.datetime "created_on", :null => false
+ t.boolean "protected", :default => false, :null => false
+ t.integer "parent_id"
+ end
+
+ add_index "wiki_pages", ["parent_id"], :name => "index_wiki_pages_on_parent_id"
+ add_index "wiki_pages", ["wiki_id", "title"], :name => "wiki_pages_wiki_id_title"
+ add_index "wiki_pages", ["wiki_id"], :name => "index_wiki_pages_on_wiki_id"
+
+ create_table "wiki_redirects", :force => true do |t|
+ t.integer "wiki_id", :null => false
+ t.string "title"
+ t.string "redirects_to"
+ t.datetime "created_on", :null => false
+ end
+
+ add_index "wiki_redirects", ["wiki_id", "title"], :name => "wiki_redirects_wiki_id_title"
+ add_index "wiki_redirects", ["wiki_id"], :name => "index_wiki_redirects_on_wiki_id"
+
+ create_table "wikis", :force => true do |t|
+ t.integer "project_id", :null => false
+ t.string "start_page", :null => false
+ t.integer "status", :default => 1, :null => false
+ end
+
+ add_index "wikis", ["project_id"], :name => "wikis_project_id"
+
+ create_table "workflows", :force => true do |t|
+ t.integer "tracker_id", :default => 0, :null => false
+ t.integer "old_status_id", :default => 0, :null => false
+ t.integer "new_status_id", :default => 0, :null => false
+ t.integer "role_id", :default => 0, :null => false
+ t.boolean "assignee", :default => false, :null => false
+ t.boolean "author", :default => false, :null => false
+ t.string "type", :limit => 30
+ t.string "field_name", :limit => 30
+ t.string "rule", :limit => 30
+ end
+
+ add_index "workflows", ["new_status_id"], :name => "index_workflows_on_new_status_id"
+ add_index "workflows", ["old_status_id"], :name => "index_workflows_on_old_status_id"
+ add_index "workflows", ["role_id", "tracker_id", "old_status_id"], :name => "wkfs_role_tracker_old_status"
+ add_index "workflows", ["role_id"], :name => "index_workflows_on_role_id"
+
+ create_table "works_categories", :force => true do |t|
+ t.string "category"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+ create_table "zip_packs", :force => true do |t|
+ t.integer "user_id"
+ t.integer "homework_id"
+ t.string "file_digest"
+ t.string "file_path"
+ t.integer "pack_times", :default => 1
+ t.integer "pack_size", :default => 0
+ t.text "file_digests"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
+end
+=======
+# encoding: UTF-8
+# This file is auto-generated from the current state of the database. Instead
+# of editing this file, please use the migrations feature of Active Record to
+# incrementally modify your database, and then regenerate this schema definition.
+#
+# Note that this schema.rb definition is the authoritative source for your
+# database schema. If you need to create the application database on another
+# system, you should be using db:schema:load, not running all the migrations
+# from scratch. The latter is a flawed and unsustainable approach (the more migrations
+# you'll amass, the slower it'll run and the greater likelihood for issues).
+#
+# It's strongly recommended to check this file into your version control system.
+
ActiveRecord::Schema.define(:version => 20160112085834) do
create_table "activities", :force => true do |t|
@@ -2018,3 +4033,4 @@ ActiveRecord::Schema.define(:version => 20160112085834) do
end
end
+>>>>>>> 26631e21991a327974a811851282b7535ab10b1d
diff --git a/public/assets/kindeditor/at/config.js b/public/assets/kindeditor/at/config.js
index 72aeacb39..8671ba6a0 100644
--- a/public/assets/kindeditor/at/config.js
+++ b/public/assets/kindeditor/at/config.js
@@ -1,63 +1,63 @@
-var enableAt = function(_editor) {
- var editor = _editor;
- if(editor.edit == undefined || editor.edit.iframe == undefined){
- return;
- }
-
- var id = arguments[1] ? arguments[1] : undefined;
- var type = arguments[2] ? arguments[2] : 'Activity';
-
- var ifr = editor.edit.iframe[0];
- var doc = ifr.contentDocument || iframe.contentWindow.document;
- var ifrBody = doc.body;
- //ifrBody.contentEditable = false;
- $(ifrBody).attr('enable_at', 'true');
- console.log("enable at");
-
- //$.fn.atwho.debug = true;
-
-
- var names = [];
- if("undefined" !== (typeof atPersonLists)){
- names = atPersonLists;
- }
-
- if('undefined' != (typeof id)){
- names = '/at/' + id + '.json?type='+type;
- }
-
- //var names = ["Jacob","Isabella","Ethan","Emma","Michael","Olivia","Alexander","Sophia","William","Ava","Joshua","Emily","Daniel","Madison","Jayden","Abigail","Noah","Chloe","你好","你你你", "가"];
- //
- //var names = $.map(names,function(value,i) {
- // return {'id':i,'name':value,'email':value+"@email.com"};
- //});
-
- var at_config = {
- at: "@",
- data: names,
- insertTpl: '
@${name}(${login}) ',
- displayTpl: "
${name} ${login} ",
- searchKey: 'searchKey',
- limit: 200
- };
-
- console.log(_editor.options);
-
- var input = $(ifrBody);
-
- _editor.options.enable_at = (function(){
- var first = true;
- return function(){
- if(first){
- input.atwho(at_config);
- first = false;
- }
- }
- })();
-
- //$(ifrBody).atwho(at_config);
-
-
- //$inputor.caret('pos', 47);
- //$inputor.focus().atwho('run');
-};
+var enableAt = function(_editor) {
+ var editor = _editor;
+ if(editor.edit == undefined || editor.edit.iframe == undefined){
+ return;
+ }
+
+ var id = arguments[1] ? arguments[1] : undefined;
+ var type = arguments[2] ? arguments[2] : 'Activity';
+
+ var ifr = editor.edit.iframe[0];
+ var doc = ifr.contentDocument || iframe.contentWindow.document;
+ var ifrBody = doc.body;
+ //ifrBody.contentEditable = false;
+ $(ifrBody).attr('enable_at', 'true');
+ console.log("enable at");
+
+ //$.fn.atwho.debug = true;
+
+
+ var names = [];
+ if("undefined" !== (typeof atPersonLists)){
+ names = atPersonLists;
+ }
+
+ if('undefined' != (typeof id)){
+ names = '/at/' + id + '.json?type='+type;
+ }
+
+ //var names = ["Jacob","Isabella","Ethan","Emma","Michael","Olivia","Alexander","Sophia","William","Ava","Joshua","Emily","Daniel","Madison","Jayden","Abigail","Noah","Chloe","你好","你你你", "가"];
+ //
+ //var names = $.map(names,function(value,i) {
+ // return {'id':i,'name':value,'email':value+"@email.com"};
+ //});
+
+ var at_config = {
+ at: "@",
+ data: names,
+ insertTpl: '
@${name}(${login}) ',
+ displayTpl: "
${name} ${login} ",
+ searchKey: 'searchKey',
+ limit: 200
+ };
+
+ console.log(_editor.options);
+
+ var input = $(ifrBody);
+
+ _editor.options.enable_at = (function(){
+ var first = true;
+ return function(){
+ if(first){
+ input.atwho(at_config);
+ first = false;
+ }
+ }
+ })();
+
+ //$(ifrBody).atwho(at_config);
+
+
+ //$inputor.caret('pos', 47);
+ //$inputor.focus().atwho('run');
+};
diff --git a/public/javascripts/org.js b/public/javascripts/org.js
index 636b84baa..d1cd30a3a 100644
--- a/public/javascripts/org.js
+++ b/public/javascripts/org.js
@@ -1,77 +1,77 @@
-//�����֯��Ա���ύ����
-function submit_add_org_members(){
- $("#org_member_add_form").submit();
-}
-
-function observeSearchfield(fieldId, targetId, url) {
- $('#'+fieldId).each(function() {
- var $this = $(this);
- $this.addClass('autocomplete');
- $this.attr('data-value-was', $this.val());
- var check = function() {
- var val = $this.val();
- if ($this.attr('data-value-was') != val){
- $this.attr('data-value-was', val);
- $.ajax({
- url: url,
- type: 'get',
- data: {q: $this.val()},
- success: function(data){ if(targetId) $('#'+targetId).html(data); },
- beforeSend: function(){ $this.addClass('ajax-loading'); },
- complete: function(){ $this.removeClass('ajax-loading'); }
- });
- }
- };
- var reset = function() {
- if (timer) {
- clearInterval(timer);
- timer = setInterval(check, 300);
- }
- };
- var timer = setInterval(check, 300);
- $this.bind('keyup click mousemove', reset);
- });
-}
-
-//显示更多的项目
-function show_more_org_project(url){
- $.get(
- url,
- { page: $("#org_project_page_num").val() },
- function (data) {
-
- }
- );
-}
-
-function show_more_org_course(url){
- $.get(
- url,
- {page: $("#org_course_page_num").val()},
- function (data){}
- );
-}
-
-function search_tag_attachment(url,tag_name,q,course_id,sort)
-{
- //alert("111");
- //clearTimeout(clickFunction);
- clickFunction = setTimeout(function() {
- search_func()
- }, 500);
- function search_func(){
- if(isdb!= false ) return;
- $.get(
- url,
- {
- tag_name: tag_name,
- q: q,
- org_subfield_id:course_id
- },
- function (data) {
-
- }
- );
- }
-
+//�����֯��Ա���ύ����
+function submit_add_org_members(){
+ $("#org_member_add_form").submit();
+}
+
+function observeSearchfield(fieldId, targetId, url) {
+ $('#'+fieldId).each(function() {
+ var $this = $(this);
+ $this.addClass('autocomplete');
+ $this.attr('data-value-was', $this.val());
+ var check = function() {
+ var val = $this.val();
+ if ($this.attr('data-value-was') != val){
+ $this.attr('data-value-was', val);
+ $.ajax({
+ url: url,
+ type: 'get',
+ data: {q: $this.val()},
+ success: function(data){ if(targetId) $('#'+targetId).html(data); },
+ beforeSend: function(){ $this.addClass('ajax-loading'); },
+ complete: function(){ $this.removeClass('ajax-loading'); }
+ });
+ }
+ };
+ var reset = function() {
+ if (timer) {
+ clearInterval(timer);
+ timer = setInterval(check, 300);
+ }
+ };
+ var timer = setInterval(check, 300);
+ $this.bind('keyup click mousemove', reset);
+ });
+}
+
+//显示更多的项目
+function show_more_org_project(url){
+ $.get(
+ url,
+ { page: $("#org_project_page_num").val() },
+ function (data) {
+
+ }
+ );
+}
+
+function show_more_org_course(url){
+ $.get(
+ url,
+ {page: $("#org_course_page_num").val()},
+ function (data){}
+ );
+}
+
+function search_tag_attachment(url,tag_name,q,course_id,sort)
+{
+ //alert("111");
+ //clearTimeout(clickFunction);
+ clickFunction = setTimeout(function() {
+ search_func()
+ }, 500);
+ function search_func(){
+ if(isdb!= false ) return;
+ $.get(
+ url,
+ {
+ tag_name: tag_name,
+ q: q,
+ org_subfield_id:course_id
+ },
+ function (data) {
+
+ }
+ );
+ }
+
}
\ No newline at end of file
diff --git a/public/stylesheets/org.css b/public/stylesheets/org.css
index 2ebdcf654..330cd5dc3 100644
--- a/public/stylesheets/org.css
+++ b/public/stylesheets/org.css
@@ -93,16 +93,15 @@ ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; }
/*转发样式*/
.shareDP {width:415px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; z-index:1000;}
.shareArrow {background:url(../images/arrowList.png) -90px -108px no-repeat; display:inline-block; width:5px; height:10px; margin-right:3px;}
-.sectionWrap {float:left; max-height:150px; margin-bottom:10px; overflow:auto; overflow-x:hidden; width:220px; background-color:#f1f1f1; min-height:150px; padding-top:5px;}
+.sectionWrap {float:left; max-height:150px; margin-bottom:10px; overflow:auto; overflow-x:hidden; width:220px; min-height:150px; padding-top:5px;}
.columnWrap {float:left; max-height:148px; margin-bottom:10px; overflow:auto; overflow-x:hidden; width:178px; background-color:#fffff; min-height:148px; padding-top:5px; border:1px solid #f1f1f1;}
.columnWrap li {padding-left:10px; color:#585858;}
.columnWrap span {width:150px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:inline-block;}
.sectionRow:hover {background-color:#cccccc; cursor:pointer;}
-.sectionContent {display:none;}
-.sectionContent li {padding-left:30px;}
-.sectionContent li:hover {background-color:#cccccc; cursor:pointer;}
-.sectionContent span {width:175px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:inline-block; height:18px; vertical-align:middle;}.popbox_polls{width:300px;height:100px;position:fixed !important;z-index:100;left:50%;top:50%;margin:-100px 0 0 -150px;
- background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; overflow:auto;}
+.sectionContent {}
+.sectionContent li {padding-left:10px; line-height:20px;}
+.sectionContent li:hover {background-color:#cccccc;}
+.sectionContent span {width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:inline-block; height:20px; vertical-align:top;}
.org_login_list a {color:#269ac9;}
div.flash {margin-top :0px !important}
diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css
index 4918ee74f..87097a052 100644
--- a/public/stylesheets/public.css
+++ b/public/stylesheets/public.css
@@ -1,1006 +1,1006 @@
-/* CSS Document */
-/* 2015-06-26 */
-body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{ margin:0; padding:0;}
-body,table,input,textarea,select,button { font-family: "微软雅黑","宋体"; font-size:12px;line-height:1.5; background:#eaebec;}
-div,img,tr,td,table{ border:0;}
-table,tr,td{border:0;cellspacing:0; cellpadding:0;}
-ol,ul,li{ list-style-type:none}
-a:link,a:visited{color:#7f7f7f;text-decoration:none;}
-a:hover,a:active{color:#000;}
-a:hover {text-decoration: none; }
-textarea {resize: none;}
-.pInline {margin:0px; padding:0px; display:inline-block;}
-
-/*常用*/
-select,input,textarea{ border:1px solid #dddddd; background:#fff; color:#000; padding-left:5px}
-.sub_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #707070; color:#000; border-radius:3px; padding:1px 10px; margin-bottom:10px; background:#dbdbdb;}
-.sub_btn:hover{ background:#b5e2fa; color:#000; border:1px solid #3c7fb1;}
-table{ background:#fff;}
-.more{ font-weight:normal; color:#999; font-size:12px;}
-.no_line{ border-bottom:none;}
-.line{border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;}
-.no_border{ border:none;}
-.min_search{ width:150px; height:20px; border:1px solid #d0d0d0; color:#666; background:url(../images/new_project/public_icon.png) 135px -193px no-repeat;}
-a.btn_message_free{ background:#ff5722; display:block; text-align:center; color:#fff; padding:3px 0; width:80px; margin-bottom:10px;}
-.db {display:block;}
-/* font & color */
-h2{ font-size:18px; color:#15bccf;}
-h3{ font-size:14px; color:#e8770d;}
-h4{ font-size:14px; color:#3b3b3b;}
-.f12{font-size:12px; font-weight:normal;}
-.f14{font-size:14px;}
-.f16{font-size:16px;}
-.f18{font-size:18px;}
-.f20{font-size:20px;}
-.fb{font-weight:bold;}
-.lh20{line-height:20px;}
-.lh22{line-height:22px;}
-.lh24{line-height:24px;}
-.lh26{line-height:26px;}
-.fmYh{font-family:"MicroSoft Yahei";}
-.font999{ color:#999;}
-.fontRed{color:#770000;}
-.text_c{ text-align:center;}
-
-/* Float & Clear */
-.cl{ clear:both; overflow:hidden; }
-.fl{float:left;display:inline;}
-.fr{float:right;display:inline;}
-.f_l{ float:left;}
-.f_r{ float:right;}
-.clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden}
-.clearfix{clear:both;zoom:1}
-.break_word{ word-break:break-all; word-wrap: break-word;}
-.hidden{overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
-.flow_hidden{ width:300px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
-.white_space{white-space:nowrap;}
-.pr {position:relative;}
-
-/* Spacing */
-.ml2{ margin-left:2px;}
-.ml3{ margin-left:3px;}
-.ml4{ margin-left:4px;}
-.ml5{ margin-left:5px;}
-.ml8{ margin-left:8px;}
-.ml10{ margin-left:10px;}
-.ml15{ margin-left:15px;}
-.ml16{ margin-left: 16px;}
-.ml20{ margin-left:20px;}
-.ml30{margin-left:30px !important;}
-.ml35{margin-left: 35px;}
-.ml40{ margin-left:40px;}
-.ml45{ margin-left:45px;}
-.ml48{ margin-left:48px;}
-.ml53{margin-left:53px;}
-.ml55{ margin-left:55px;}
-.ml58{margin-left:58px;}
-.ml30{ margin-left:30px;}
-.ml38{ margin-left:38px;}
-.ml60{ margin-left:60px;}
-.ml160 {margin-left:160px;}
-.ml80{ margin-left:80px;}
-.ml85{margin-left:85px;}
-.ml90{ margin-left:90px;}
-.ml95{margin-left:95px;}
-.ml100{ margin-left:100px;}
-.ml110{ margin-left:110px;}
-.ml125 { margin-left:125px;}
-.ml320{ margin-left:320px;}
-.ml150 { margin-left:150px;}
-.mr-5 {margin-right:-5px;}
-.mr5{ margin-right:5px;}
-.mr45 {margin-right:45px;}
-.mr55{ margin-right:55px;}
-.mr10{ margin-right:10px;}
-.mr15 {margin-right:15px;}
-.mr18 {margin-right:15px;}
-.mr20{ margin-right:20px;}
-.mr25 {margin-right:25px;}
-.mr30{ margin-right:30px;}
-.mr40{ margin-right:40px;}
-.mr45{margin-right: 45px;}
-.mr50{margin-right: 50px;}
-.mr55{margin-right: 55px;}
-.mr60 {margin-right:60px;}
-.mr70{margin-right: 70px;}
-.mw15{margin:0 15px;}
-.mr90 {margin-right:90px;}
-.mw20{ margin: 0 20px;}
-.mt1{margin-top: 1px;}
-.mt-4 {margin-top:-4px;}
-.mt0 {margin-top:0px !important;}
-.mt3{ margin-top:3px;}
-.mt5{ margin-top:5px;}
-.mt8{ margin-top:8px;}
-.mt10{ margin-top:10px !important;}
-.mt30{ margin-top: 30px;}
-.mt40{ margin-top: 40px;}
-.mt12 { margin-top:12px !important;}
-.mt15 {margin-top:15px;}
-.mt19 {margin-top:19px !important;}
-.ml70{margin-left: 70px;}
-.mb0 {margin-bottom: 0px !important;}
-.mb4{ margin-bottom:4px;}
-.mb5{ margin-bottom:5px;}
-.mb8 {margin-bottom:8px;}
-.mb10{ margin-bottom:10px !important;}
-.mb20{ margin-bottom:20px;}
-.pl10 {padding-left:10px;}
-.pl15{ padding-left:15px;}
-.pl5{ padding-left:5px;}
-.pt5{ padding-top:5px;}
-.pt10{ padding-top:10px;}
-.pb5{ padding-bottom: 5px;}
-.w20{ width:20px;}
-.w40{width: 40px;}
-.w45{ width: 45px;}
-.w50 {width:50px;}
-.w60{ width:60px;}
-.w70{ width:70px;}
-.w90{ width:90px;}
-.w100{width: 100px;}
-.w210{ width:210px;}
-.w150{ width:150px;}
-.w230{width:230px !important;}
-.w235{ width:235px !important;}
-.w280{ width:280px;}
-.w265{ width: 265px;}
-.w270{ width: 270px;}
-.w350 {width:350px;}
-.w362 {width:362px;}
-.w430{ width:470px;}
-.w455{width:455px !important;}
-.w465{width:465px !important;}
-.w520{ width:520px;}
-.w543{ width:543px;}
-.w557{ width:557px;}
-.w576{ width:576px;}
-.w583{ width:583px;}
-.w350{ width:350px;}
-.w610{ width:610px;}
-.w600{ width:600px !important;}
-.w606{ width:606px }
-.h20{height: 20px;}
-.h22{ height:22px;}
-.h26{ height:26px;}
-.h50{ height:50px;}
-.h70{ height:70px;}
-.h150{ height:150px;}
-.p10 {padding-left:10px; padding-right:10px;}
-.mw400 {max-width: 400px;}
-
-/* Font & background Color */
-a.b_grey{ background: #F5F5F5;}
-a.b_dgrey{ background: #CCC;}
-a.c_orange{color:#ff5722;}
-a:hover.c_orange{color: #d33503;}
-a.c_lorange{color:#ff9900;}
-a:hover.c_lorange{color:#fff;}
-a.c_blue{ color:#269ac9;}
-a.c_eblue{color: #3784D3}
-a.c_setting_blue{color: #0781B4}
-a.c_dblue{ color:#09658c;}
-a:hover.c_dblue{ color:#15bccf;}
-a.c_white{ color:#fff;}
-a.c_dorange{ color:#fd6e2a;}
-a.c_dark{color: #3e4040;}
-a:hover.c_dark{color: #3ca5c6;}
-a.b_blue{background: #64bdd9;}
-a:hover.b_blue{background: #41a8c8;}
-a.b_green{background:#28be6c;}
-a:hover.b_green{background:#14ad5a;}
-a.c_blue02{color: #3ca5c6;}
-a:hover.c_blue02{color: #0781b4;}
-a.c_red{ color:#F00;}
-a:hover.c_red{ color: #C00;}
-a.c_purple{color: #426e9a;}
-a:hover.c_purple{color: #d33503;}
-a.c_green{ color:#28be6c;}
-
-.b_grey{ background: #F5F5F5;}
-.b_dgrey{ background: #CCC;}
-.c_orange{color:#e8770d;}
-.c_dark{ color:#2d2d2d;}
-.c_lorange{ color:#ff9900;}
-.c_purple{color: #6883b6;}
-.c_blue{ color:#15bccf;}
-.c_red{ color:#F00;}
-.c_green{ color:#28be6c;}
-.c_grey{color:#999;}
-.c_dblue{ color:#09658c;}
-.b_blue{background:#64bdd9;}
-.b_green{background:#28be6c;}
-.b_w{ background:#fff;}
-
-/*add by Tim*/
-.fontGrey {color:#cecece;}
-.fontGrey2 {color:#888888;}
-.fontGrey3 {color:#484848;}
-.fontBlue {color:#3498db;}
-a.underline {text-decoration:underline;}
-a.fontBlue {color:#297fb8;}
-a.fontGrey {color:#cecece;}
-a.fontGrey2 {color:#888888;}
-a.linkOrange {color:#ff7143;}
-a.linkBlue {color:#269ac9;}
-a.linkBlue:hover {color:#297fb8;}
-a.linkBlue2 {color:#3498db;}
-a.linkBlue2:hover {color:#297fb8;}
-a.buttonBlue {background-color:#269ac9;}
-a.buttonBlue:hover {background-color:#297fb8;}
-a.linkGrey {color:#484848;}
-a.linkGrey:hover {color:#269ac9;}
-a.linkGrey2 {color:#888888;}
-a.linkGrey2:hover {color:#484848;}
-a.linkGrey3 {color:#484848;}
-a.linkGrey3:hover {color:#000000;}
-a.linkGrey4 {color:#484848;}
-a.linkGrey4:hover {color:#297fb8;}
-a.linkGrey5 {color:#484848;}
-a.linkGrey5:hover {color:#3498db;}
-a.linkGrey6 {color:#484848 !important;}
-a.linkGrey6:hover {color:#ffffff !important;}
-a.linkGrey7 {color:#888888;}
-a.linkGrey7:hover {color:#269ac9;}
-a.bBlue {background-color:#3498db;}
-a.bBlue:hover {background-color:#297fb8;}
-a.submit_btn {border:1px solid #3498db; padding:3px 10px; border-radius:3px; color:#3498db;}
-a.submit_btn:hover {background-color:#3498db; color:#ffffff;}
-
-/* commonBtn */
-.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center;padding:2px 10px;}
-a.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center;padding:2px 10px;}
-a:hover.grey_btn{ background:#717171; color:#fff;}
-.grey_n_btn{ background:#d9d9d9; color:#656565; font-weight:normal;padding:2px 10px; text-align:center;}
-a.grey_n_btn{background:#d9d9d9; color:#656565;font-weight:normal; padding:2px 10px; text-align:center;}
-a:hover.grey_n_btn{ background:#717171; color:#fff;}
-.green_btn{ background:#28be6c; color:#fff; font-size:14px; font-weight:normal;padding:2px 8px; text-align:center;}
-a.green_btn{background:#28be6c;color:#fff;font-size:14px; font-weight:normal; padding:2px 8px; text-align:center;cursor: pointer;}
-a:hover.green_btn{ background:#14ad5a;}
-.blue_btn{ background:#64bdd9; color:#fff; font-size:14px; font-weight:normal;padding:2px 8px; text-align:center;}
-a.blue_btn{background:#64bdd9;color:#fff;font-size:14px; font-weight:normal; padding:2px 8px; text-align:center;cursor: pointer;}
-.red_btn{ background:red; color:#fff; font-size:14px; font-weight:normal;padding:2px 8px; text-align:center;}
-a.red_btn{background:red; color:#fff;font-size:14px; font-weight:normal; padding:2px 8px; text-align:center;cursor: pointer;}
-a.orange_btn_homework{background:#d63502;color:#fff;font-size:14px; font-weight:normal; padding:2px 10px; text-align:center;}
-a:hover.blue_btn{ background:#329cbd;cursor: pointer;}
-a.orange_btn{ background:#ff5722;color:#fff;font-size:14px; font-weight:normal; padding:2px 10px; text-align:center; }
-a:hover.orange_btn{ background:#d63502;}
-
-.green_u_btn{border:1px solid #3cb761; padding:2px 10px; color:#3cb761;}
-a.green_u_btn{border:1px solid #3cb761; padding:2px 10px; color:#3cb761;}
-a:hover.green_u_btn{ background:#3cb761; color:#fff;}
-.orange_u_btn{border:1px solid #ff5d31; padding:2px 10px; color:#ff5d31;}
-a.orange_u_btn{border:1px solid #ff5d31; padding:2px 10px; color:#ff5d31;}
-a:hover.orange_u_btn{background:#ff5d31; color:#fff;}
-.bgreen_u_btn{border:1px solid #1abc9c; padding:2px 10px; color:#1abc9c;}
-a.bgreen_u_btn{border:1px solid #1abc9c; padding:2px 10px; color:#1abc9c;}
-a:hover.bgreen_u_btn{background:#1abc9c; color:#fff;}
-.blue_u_btn{border:1px solid #64bdd9; padding:2px 10px; color:#64bdd9;}
-a.blue_u_btn{border:1px solid #64bdd9; padding:2px 10px; color:#64bdd9;}
-a:hover.blue_u_btn{background:#64bdd9; color:#fff;}
-.blue_n_btn{ background:#64bdd9; color:#fff; font-weight:normal;padding:2px 10px; text-align:center;}
-a.blue_n_btn{background:#64bdd9;color:#fff;font-weight:normal; padding:2px 10px; text-align:center;}
-a:hover.blue_n_btn{ background:#329cbd;}
-.green_n_btn{background:#3cb761; padding:2px 10px; color:#fff;}
-a.green_n_btn{background:#3cb761; padding:2px 10px; color:#fff;}
-a:hover.green_n_btn{ background:#14ad5a;}
-.orange_n_btn{background:#ff5d31; padding:2px 10px; color:#fff;}
-a.orange_n_btn{background:#ff5d31; padding:2px 10px; color:#fff;}
-a:hover.orange_n_btn{background:#d63502;}
-.bgreen_n_btn{background:#1abc9c; padding:2px 10px; color:#fff;}
-a.bgreen_n_btn{background:#1abc9c; padding:2px 10px; color:#fff;}
-a:hover.bgreen_n_btn{background:#08a384;}
-
-.nolink_btn{ background:#BCBCBC; color: #fff; padding:2px 5px;}
-.more_btn{-moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #9DCEFF; color:#9DCEFF; border-radius:3px; padding:0px 3px;}
-.upbtn{ margin:40px 0 0 15px; display:block; padding:2px 5px; border:1px solid #eaeaea;}
-.upbtn:hover{color:#64bdd9;cursor: pointer;}
-.upload_file{margin-left: -60px;margin-top: 40px;width: 50px;position: absolute;height: 24px;opacity: 0;cursor: pointer}
-.undis{display:none;}
-.red_btn_cir{ background:#e74c3c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;white-space:nowrap;}
-.green_btn_cir{ background:#28be6c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;white-space:nowrap;}
-.blue_btn_cir{ background:#3498db; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;white-space:nowrap;}
-.orange_btn_cir{ background:#e67e22; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;white-space:nowrap;}
-.bgreen_btn_cir{ background:#1abc9c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;white-space:nowrap;}
-.grey_border{border:1px solid #dddddd !important; }
-/* commonpic */
-.pic_date{ display:block; background:url(../images/new_project/public_icon.png) -31px 0 no-repeat; width:16px; height:15px; float:left;}
-.pic_add{ display:block; background:url(../images/new_project/public_icon.png) -31px -273px no-repeat; width:16px; height:15px; float:left;}
-.pic_sch{ display:block; background:url(../images/new_project/public_icon.png) -31px -195px no-repeat; width:16px; height:15px; float:left;}
-.pic_mes{ display:block; background:url(../images/new_project/public_icon.png) 0px -376px no-repeat; width:20px; height:15px; padding-left:18px;}
-.pic_img{ display:block; background:url(../images/new_project/public_icon.png) -31px -419px no-repeat; width:20px; height:15px; }
-.pic_del{ display:block; background:url(../images/new_project/public_icon.png) 0px -235px no-repeat; width:20px; height:15px; }
-.pic_del:hover{ background:url(../images/new_project/public_icon.png) -32px -235px no-repeat; }
-.pic_stats{display:block; background:url(../images/new_project/public_icon.png) 0px -548px no-repeat; width:20px; height:15px;}
-.pic_files{display:block; background:url(../images/new_project/public_icon.png) 0px -578px no-repeat; width:20px; height:15px;}
-.pic_text{display:block; background:url(../images/new_project/public_icon.png) 0px -609px no-repeat; width:20px; height:18px;}
-.pic_text02{display:block; background:url(../images/new_project/public_icon.png) 0px -642px no-repeat; width:20px; height:19px;}
-.pic_edit{display:block; background:url(../images/new_project/public_icon.png) 0px -32px no-repeat; width:20px; height:15px;}
-.pic_edit:hover{display:block; background:url(../images/new_project/public_icon.png) -32px -32px no-repeat; width:20px; height:15px;}
-
-
-
-
-
-/*框架主类容*/
-#Container{ width:1000px; margin:0 auto; }
-
-/*头部导航*/
-#Header{ margin:10px 0; background:#15bccf; height:40px; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; position: relative;}
-.logo{ margin:5px 10px; }
-#TopNav{}
-#TopNav ul li{ margin-top:8px;}
-.topnav_a a{ font-size:14px; font-weight:bold; color:#fff; margin-right:10px;}
-.topnav_a a:hover{color: #a1ebff;}
-#userInfo {float:right; display:inline-block; width:130px; padding-top:5px;}
-.userInfoRow2 {margin-top:-5px;}
-.myPractice {display:inline-block;}
-a.parent {background: url(../images/arrowList.png) -30px 3px no-repeat; width:95px; padding-right:50px;}
-a.parent:hover {background: url(../images/arrowList.png) -30px -14px no-repeat; width:95px; padding-right:50px; color:#fe7d68;}
-a.linkToOrange:hover {color:#fe7d68;}
-#userInfo ul li {positon: relative;}
-#userInfo ul li ul {display:none;}
-#userInfo ul li:hover ul {display:block; position:absolute;}
-#userInfo ul li:hover ul li ul {display:none;}
-#userInfo ul li:hover ul li:hover ul {display:block; position:absolute; left:110px; top:6px; width:148px; border:1px solid #15bccf; background-color:#ffffff; padding:5px 0px;}
-#userInfo ul li:hover ul li:hover ul li {max-width:148px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:block; padding: 0 10px; line-height:1.5; color:#15bccf;}
-#TopUser{}
-#TopUser ul li{ margin-top:8px;}
-.topuser_a a{ font-size:14px; font-weight:bold; color:#fff; margin-right:10px;}
-.topuser_a a:hover{color: #a1ebff;}
-#TopUser02{ }
-#TopUser02 li{ float: left;}
-#TopUser02 li a{ margin-right:10px;color: #FFF;text-align: center;}
-#TopUser02 li a:hover{color: #a1ebff;}
-#TopUser02 div{ position: absolute;visibility: hidden;background:#fff;border: 1px solid #15bccf;}
-#TopUser02 div a{position: relative;display: block;white-space: nowrap;text-align: left; line-height:1.9; margin-left:5px;background: #fff;color:#15bccf; font-weight:normal;}
-#TopUser02 div a:hover{ color:#e8770d; font-weight: bold;}
-/*头部导航下拉*/
-div#menu {height:41px; font-size:14px; font-weight:bold; }
-div#menu ul {float: left;}
-div#menu ul.menu { padding-left: 30px; }
-div#menu li {position: relative; z-index: 9; margin: 0; display: block; float: left; }
-/*div#menu li:hover>ul { right: 5px;}*/
-div#menu a {position: relative;z-index: 10; height: 41px; display: block; float: left;line-height: 41px; text-decoration: none; font-size:14px; }
-div#menu a:hover, div#menu a:hover span { color: #a1ebff; }
-div#menu li.current a {}
-div#menu {display: block; cursor: pointer; background-repeat: no-repeat;background-position: 95% 0;padding-right: 15px; _padding-right: 20px;}
-div#menu ul a.user_name { width:170px; text-align:right; margin:0; }
-.pic_triangle{background: url(../images/item.png) -90px -48px no-repeat; float:right; display:block; width:10px; height:10px; margin-top:12px; margin-left:7px;}
-.pic_triangle:hover{background: url(../images/item.png) -90px -78px no-repeat; }
-div#menu ul ul a.parent {background: url(../images/item.png) -20px 6px no-repeat;width:60px;}
-div#menu ul ul a.parent:hover {background: url(../images/item.png) -20px -11px no-repeat;}
-/* menu::level1 */
-div#menu a { padding: 5px 12px 0 10px;line-height: 30px; color: #fff;}
-/*div#menu li { background: url(images/main-delimiter.png) 98% 4px no-repeat; }*/
-div#menu li.last { background: none; }
-/* menu::level2 */
-div#menu ul ul li { background: none; }
-div#menu ul ul { position: absolute;top: 38px; width: 90px; padding: 5px 0 0 0; background:#fff; border:1px solid #15bccf; margin-top:1px;}
-div#menu ul ul a {padding: 0 0 0 15px; height: auto; float: none;display: block; line-height: 24px; font-size:12px; font-weight:normal;color:#15bccf;}
-div#menu ul ul a:hover { color:#ff9900;}
-div#menu ul ul li.last { margin-left:15px; }
-div#menu ul ul li {width: 100%;}
-/* menu::level3 */
-div#menu ul ul ul {padding: 0;margin: -38px 0 0 90px !important; width:200px; }
-div#menu ul ul ul li a{ width:185px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf;}
-
-/*myctrip*/
-.userImage{position:absolute; right:140px; top:5px; width:30px;height:30px; background: url(../images/item.png) 2px 4px no-repeat; line-height:1.4;}
-a.topnav_login_a{color:#fff; display:inline-block;}
-a.topnav_login_a:hover {color:#a1ebff;}
-a.topnav_login_mes{color:#fff; width:10px;height:20px; padding-left:15px; background: url(../images/item.png) -84px -145px no-repeat; display:inline-block; vertical-align:top;}
-a.topnav_login_mes:hover {color:#a1ebff;}
-a.topnav_login_box{ color:#fff; font-size:14px; font-weight:bold; width:90px; display:inline-block;}
-.menuArrow {background:url(../images/item.png) -20px -40px no-repeat;}
-li.menuArrow:hover {background:url(../images/item.png) -20px -70px no-repeat;}
-a.topnav_login_box:hover {color:#a1ebff;}
-.navRow1 {margin:0; padding:0;}
-.navRow2 {margin:0; padding:0;}
-.topnav_login_list{ border:1px solid #eaeaea; background:#fff; padding-left:10px; padding-bottom:10px; padding-top:8px; width:60px; left:-7px; position:absolute; z-index:9999; line-height:2;}
-.topnav_login_list a{color:#15bccf;}
-.topnav_login_list li{ }
-
-/*主类容*/
-#Main{ background:#fff; margin-bottom:10px;}
-#content{}
-#content02{ background:#fff; padding:10px; margin-bottom:10px;}
-/*主类容搜索*/
-#TopBar{ height:60px; margin-bottom:10px; background:#fff;}
-.topbar_info02{ margin:5px 10px;width:480px; }
-.topbar_info02 p{color: #7f7f7f;}
-.search{ margin-top:8px; margin-left:71px;}
-.search_form{margin-top:8px;margin-left:72px;}
-.topbar_info{ width:350px; color:#5c5c5c; font-size:16px; margin-right:50px; line-height:1.3; padding-left:100px;}
-a.search_btn{ display:block; background:#15bccf; color:#fff; width:60px; height:24px; text-align:center; padding-top:3px;}
-a:hover.search_btn{ background: #0fa9bb;}
-.search_text{ border:1px solid #15bccf; background:#fff; width:220px; height:25px; padding-left:5px; }
-/*主类容左右分栏*/
-#LSide{ width:240px; }
-#RSide{ width:670px; margin-left:10px; background:#fff; padding:10px; margin-bottom:10px;}
-
-/*发送资源弹窗*/
-/*.resourceShareContainer {width:100%; height:100%; background:#666; filter:alpha(opacity=50); opacity:0.5; -moz-opacity:0.5; position:absolute; left:0; top:0; z-index:-999;}*/
-/*发送资源弹窗*/
-/*.resourceShareContainer {width:100%; height:100%; background:#666; filter:alpha(opacity=50); opacity:0.5; -moz-opacity:0.5; position:absolute; left:0; top:0; z-index:-999;}*/
-/*.resourceSharePopup {width:300px; height:auto; border:3px solid #15bccf; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-150px; z-index:1000;}*/
-.resourceSharePopup {width:300px; height:auto; border:3px solid #269ac9 !important; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-150px; z-index:1000;}
-.sendText {font-size:16px; color:#269ac9; line-height:16px; padding-top:20px; width:110px; display:inline-block; font-weight: bold;}
-.resourcesSendTo {float:left; height:20px; margin-top:15px;}
-.boxContainer {height:33px; line-height:33px; position:relative}
-.resourcesSendType {border:1px solid #e6e6e6; width:60px; height:24px; outline:none; font-size:14px; color:#888888;}
-.resourcePopupClose {width:20px; height:20px; display:inline-block; float:right;}
-.resourceClose {background:url(images/resource_icon_list.png) 0px -40px no-repeat; width:20px; height:20px; display:inline-block; position: absolute; z-index: 1000;}
-.resourcesSearchBox {border:1px solid #e6e6e6; width:225px; height:25px; background-color:#ffffff; margin-top:12px; margin-bottom:15px;}
-.searchResourcePopup {border:none; outline:none; background-color:#ffffff; width:184px; height:25px; padding-left:10px; display:inline-block; float:left;}
-.searchIconPopup{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon.png) 5px -394px no-repeat; display:inline-block; float:left; cursor: pointer;}
-.searchIconPopup:hover {background:url(../images/homepage_icon.png) 5px -420px no-repeat;}
-.searchIcon2{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon2.png) -180px -273px no-repeat; display:inline-block; float:left; cursor: pointer;}
-.searchIcon2:hover {background:url(../images/homepage_icon2.png) -180px -314px no-repeat;}
-.courseSend {width:390px; height:15px; line-height:15px; margin-bottom:10px;display:block;white-space:nowrap;}
-.courseSendCheckbox {padding:0px; margin:0px; width:12px; height:12px; margin-right:10px; display:inline-block; margin-top:2px;}
-.sendCourseName {font-size:12px; color:#5f6060;display:inline-block}
-.courseSendSubmit {width:50px; height:25px; line-height:25px; text-align:center; vertical-align:middle; background-color:#269ac9; margin-right:25px; float:left;cursor: pointer;}
-.courseSendSubmit:hover {background-color:#297fb8;}
-.courseSendCancel {width:50px; height:25px; line-height:25px; text-align:center; vertical-align:middle; background-color:#c1c1c1; float:left}
-.courseSendCancel:hover {background-color:#717171;}
-a.sendSourceText {font-size:14px; color:#ffffff;}
-input.sendSourceText {font-size:14px;color:#ffffff;background-color:#269ac9;cursor: pointer; outline: none; border: none; width: 50px; height: 25px;}
-input.sendSourceText:hover {background-color:#297fb8;}
-/*input.sendSourceText:hover {font-size:14px; color:#ffffff;}*/
-.resourcesSendTo {float:left; height:20px; margin-top:15px;}
-.resourcesSendType {border:1px solid #e6e6e6; width:60px; height:24px; outline:none; font-size:14px; color:#888888;}
-.courseReferContainer {float:left; max-height:120px;margin-right:16px;margin-bottom:10px; overflow:auto; overflow-x:hidden;}
-.popbox{/* width:300px; *//* height:100px; */position:fixed !important;/* z-index:100; */left:50%;top:50%;margin:-100px 0 0 -150px; /* background:#fff; */ -moz-border-radius:5px; /* -webkit-border-radius:5px; */ /* border-radius:5px; */ /* box-shadow:0px 0px 8px #194a81; */ /* overflow:auto; */}
-
-/*上传资源弹窗*/
-.resourceUploadPopup {width:400px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-200px; z-index:1000;}
-.uploadText {font-size:16px; color:#269ac9; line-height:16px; padding-top:15px; width:140px; display:inline-block;}
-.uploadBoxContainer {height:33px; line-height:33px; margin-top:10px; position:relative;}
-.uploadBox {width:100px; height:33px; line-height:33px; text-align:center; vertical-align:middle; background-color:#269ac9; border-radius:3px; float:left; margin-right:12px;}
-.uploadBox:hover {background-color:#297fb8;}
-a.uploadIcon {background:url(../images/resource_icon_list.png) 8px -60px no-repeat; width:100px; height:33px; display:block;}
-.chooseFile {color:#ffffff; display:block; margin-left:32px;}
-.uploadResourceIntr {width:250px; height:33px; float:left; line-height:33px; font-size:12px;}
-.uploadResourceName {width:250px; display:inline-block; line-height:15px; font-size:12px; color:#444444; margin-bottom:2px;}
-.uploadResourceIntr2 {width:250px; display:inline-block; line-height:15px; font-size:12px; color:#444444;}
-.uploadType {margin:10px 0; border:1px solid #e6e6e6; width:100px; height:30px; outline:none; font-size:12px; color:#888888;}
-.uploadKeyword {margin-bottom:10px; outline:none; border:1px solid #e6e6e6; height:30px; width:280px;}
-
-/*评分设置弹窗*/
-.markPopup {width:290px; height:auto; padding:5px 0px 15px 15px; background-color:#ffffff; z-index:1000;}
-.markInput {margin-bottom:10px; outline:none; border:1px solid #e6e6e6; height:30px; width:140px; color:#3d3c3c;}
-.markPercentage {margin:10px 0; border:1px solid #e6e6e6; width:70px; height:30px; outline:none; font-size:12px; color:#3d3c3c;}
-
-
-/*新个人主页框架css*/
-.navContainer {width:100%; margin:0 auto; background-color:#269ac9;}
-.homepageContentContainer {width:100%; margin:0 auto; background-color:#eaebed;}
-.homepageContent {width:1000px; background-color:#eaebed; margin:0 auto;}
-.navHomepage {width:1000px; height:54px; background-color:#269ac9; margin:0 auto;}
-.navHomepageLogo {width:60px; height:54px; line-height:54px; vertical-align:middle; margin-left:2px; margin-right:30px;}
-.navHomepageMenu {margin-right:20px; display:inline-block;height:54px; line-height:54px; vertical-align:middle;}
-.navHomepageMenu:hover {background-color:#297fb8;}
-.navHomepageSearchBoxcontainer {margin-top:11px; }
-.navHomepageSearchBox {width:380px; border:none; outline:none; height:32px; background-color:#ffffff;}
-.navHomepageSearchInput {width:345px; height:32px; outline:none; border:none; float:left; padding-left:5px;; margin:0;}
-.homepageSearchIcon {width:30px; height:32px; background:url(../images/nav_icon.png) -8px 3px no-repeat; float:left; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
-a.homepageSearchIcon:hover {background:url(../images/nav_icon.png) -49px 3px no-repeat; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
-.navSearchTypeBox {width:368px; height:35px; position:absolute; border:1px solid #98a1a6; background-color:#ffffff; padding-left:10px; display:none; color:#3e3e3e; font-size:14px;}
-#navSearchAlert {display:none;}
-.navHomepageNews {width:30px; display:block; float:right; margin-top:8px; position:relative;}
-.homepageNewsIcon {background:url(../images/nav_icon.png) -5px -85px no-repeat; width:30px; height:35px; display:block;}
-.newsActive {width:16px; height:16px; border-radius:50%; background-color:#ff0000; position:absolute; left:17px; top:5px; text-align:center;font-size:12px; color:#ffffff !important;padding-bottom: 3px;padding-left: 2px;padding-right: 1px;font-weight: bold;}
-.navHomepageProfile {width:65px; display:block; float:right; margin-left:33px;}
-.homepageProfileMenuIcon {background:url(../images/nav_icon.png) 30px -155px no-repeat; width:65px; height:54px; position:relative; display:inline-block;}
-.homepageProfileMenuIcon:hover {background:url(../images/nav_icon.png) 30px -122px no-repeat;}
-.navHomepageProfile ul li ul {display:none;}
-.navHomepageProfile ul li:hover ul {display:block;}
-.homepageLeft {width:240px; float:left; margin-right:10px; margin-bottom:10px; margin-top:15px;}
-.homepageRight {width:750px; float:left; margin-top:15px; margin-bottom:10px;}
-.homepagePortraitContainer {width:238px; border:1px solid #dddddd; background-color:#ffffff; padding-bottom:15px;}
-.homepagePortraitImage {width:206px; height:206px; padding:2px; margin:15px 14px 10px 14px; position:relative; border:1px solid #cbcbcb;}
-.homepagePortraitImage:hover {border:1px solid #297fb8;}
-.homepageFollow {background:url(../images/homepage_icon.png) -10px -8px no-repeat; width:20px; height:20px; position:absolute; right:9px; top:9px;}
-.homepageFollowCancel {background:url(../images/homepage_icon.png) -178px -8px no-repeat; width:20px; height:20px; position:absolute; right:9px; top:9px;}
-.homepageEditProfile {width:16px; height:16px; border-radius:2px; background-color:#888888; position:absolute; right:5px; bottom:5px; font-size:12px; filter:alpha(opacity=50); -moz-opacity:0.5; opacity: 0.5;}
-.homepageEditProfileIcon {background:url(../images/homepage_icon.png) -14px -37px no-repeat; width:16px; height:16px; display:block;}
-.homepageImageName {font-size:16px; color:#484848; margin-left:15px; margin-right:8px; height:25px; float:left;}
-.homepageImageSex {top:116px; left:5px; width:20px; height:20px; background:url(../images/homepage_icon.png) -10px -112px no-repeat; float:left;}
-.homepageImageSex2 {top:116px; left:5px; width:20px; height:20px; background:url(../images/homepage_icon.png) -10px -150px no-repeat; float:left;}
-.homepageSignature {font-size:12px; color:#888888; margin-left:15px; margin-top:10px; margin-bottom:12px; width:208px;}
-.homepageImageBlock {margin:0 auto; width:68px; float:left; text-align:center; display:inline-block;}
-.homepageImageNumber {font-size:12px; color:#484848; font-weight:bold;}
-a.homepageImageNumber:hover {color:#15bccf;}
-.homepageImageText {font-size:12px; color:#888888;}
-.homepageVerDiv {height:28px; vertical-align:middle; width:1px; float:left; display:inline-block; background-color:#d1d1d1; margin-top:3px;}
-.homepageLeftMenuContainer {width:238px; border:1px solid #dddddd; border-bottom:none; background-color:#ffffff; margin-top:10px;}
-.homepageLeftMenuBlock {border-bottom:1px solid #dddddd; height:50px; line-height:50px; vertical-align:middle;}
-.homepageLeftMenuCourses {font-size:14px; border-bottom:1px solid #dddddd;}
-.homepageLeftMenuCoursesLine {height:38px; line-height:38px; vertical-align:middle;}
-.homepageLeftMenuCoursesLine:hover {background-color:#b3e0ee;}
-a.coursesLineGrey {padding-left:25px; padding-right:25px; color:#808080; display:block;}
-a.coursesLineGrey:hover {color:#ffffff;}
-.homepageLeftMenuMore {height:18px;}
-.homepageLeftMenuMore:hover {background-color:#b3e0ee;}
-.homepageLeftMenuMoreIcon {background:url(../images/homepage_icon.png) -74px -240px no-repeat; display:block; height:18px;}
-.homepageMenuSetting {display:inline-block; margin-left:155px;}
-a.homepageMenuText {color:#484848; font-size:16px; margin-left:20px;}
-.homepageLeftLabelContainer {width:238px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px;}
-.homepageLabelText {color:#484848; font-size:16px; margin-left:10px; margin-bottom:12px; display:block;}
-.homepageRightBanner {width:718px; margin:0px auto; float:right; background-color: #ffffff; padding:10px 15px; border:1px solid #dddddd;}
-.NewsBannerName {font-size:16px; color:#4b4b4b; display:block; width:150px; float:left;}
-.newsType {width:60px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-40px; font-size:12px; color:#888888; display:none; line-height:2; z-index:9999;}
-.newsReadSetting {width:700px; background-color:#f6f6f6; border-bottom:1px solid #eeeeee; margin:10px auto; height:39px; line-height:39px; vertical-align:middle; font-size:14px; color:#7a7a7a; padding-left:10px;}
-.homepageNewsList {width:710px; height:49px; line-height:49px; vertical-align:middle; border-bottom:1px dashed #eaeaea; margin-left:10px;}
-.homepageNewsPortrait {width:40px; display:block; margin-top:7px;}
-.homepageNewsPublisher {width:80px; max-width:80px; margin-right:10px; font-size:12px; color:#15bccf; display:block; padding-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
-.homepageNewsType {width:95px; font-size:12px; color:#888888; display:block;}
-.homepageNewsContent {width:395px; max-width:395px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
-.homepageNewsTime {width:75px; font-size:12px; color:#888888; display:block; text-align:right;}
-a.homepageWhite {color:#ffffff;}
-a.homepageWhite:hover {color:#a1ebff}
-a.newsGrey {color:#4b4b4b;}
-a.newsGrey:hover {color:#000000;}
-a.newsRed {color:red;}
-a.newsRed:hover {color:#888888;}
-a.replyGrey {color:#888888; display:inline-block;}
-a.replyGrey:hover {color:#4b4b4b;}
-a.replyGrey1 {color:#888888;}
-a.replyGrey1:hover {color:#4b4b4b;}
-a.newsBlue {color:#269ac9;}
-a.newsBlue:hover {color:#297fb8;}
-a.newsBlack {color:#4b4b4b; font-size:13px; font-weight:bold}
-a.menuGrey {color:#808080;}
-a.menuGrey:hover {color:#fe7d68;}
-
-/*个人主页右部分*/
-.homepagePostType {width:180px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-170px; font-size:12px; color:#4b4b4b; line-height:2; z-index:9999; display:none;}
-.homepagePostTypeHomework {width:100px;}
-.homepagePostTypeProject {width:80px;}
-a.homepagePostTypeAssignment {background:url(../images/homepage_icon.png) -93px -318px no-repeat; padding-left:23px;}
-a.homepagePostTypeNotice {background:url(../images/homepage_icon.png) -87px -280px no-repeat; padding-left:23px;}
-a.homepagePostTypeForum {background:url(../images/homepage_icon.png) -10px -310px no-repeat; padding-left:23px;}
-a.homepagePostTypeQuiz {background:url(../images/homepage_icon.png) -90px -124px no-repeat; padding-left:23px;}
-a.homepagePostTypeQuestion {background:url(../images/homepage_icon.png) -10px -273px no-repeat; padding-left:23px;}
-a.homepagePostTypeAll {background:url(../images/homepage_icon.png) -10px -360px no-repeat; padding-left:23px;}
-a.postTypeGrey {color:#888888;}
-a.postTypeGrey:hover {color:#269ac9;}
-.homepagePostBrief {width:720px; margin:20px auto 0px auto; position:relative;}
-.homepagePostPortrait {float:left; width:50px;}
-.homepagePostDes {float:left; width:600px; margin-left:20px;}
-.homepagePostTo {font-size:14px; color:#484848; margin-bottom:8px;}
-.homepagePostTitle {font-size:14px; color:#484848; margin-bottom:10px; font-weight:bold;}
-.homepagePostSubmitContainer {height:25px; margin-top: 8px; margin-bottom: 5px;}
-.homepagePostSubmit {font-size:14px; color:#888888; border:1px solid #dddddd; background-color:#eaeaea; float:left; margin-right:20px; padding:0px 10px;}
-.homepagePostSubmit:hover {background-color:#d8d8d8;}
-.homepagePostIntro {font-size:14px; color:#484848;overflow:hidden;}
-.homepagePostDeadline {font-size:12px; color:#888888; float:left; margin-top: 2px;}
-.homepagePostDate {font-size:12px; color:#888888;margin-bottom: 5px;}
-.homepagePostReplyBanner {width:708px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888;}
-.borderBottomNone {border-bottom:none !important;}
-.topBorder {border-top: 1px solid #e4e4e4;}
-.homepagePostReplyBannerCount{width:255px; display:inline-block; margin-left:15px;}
-.homepagePostReplyBannerTime{width:85px; display:inline-block;}
-.homepagePostReplyBannerMore{width:330px; display:inline-block; text-align:right;}
-.homepagePostReplyInputContainer {width:690px; margin:0px auto;}
-.homepagePostReplyInput {width:680px; height:40px; max-width:680px; max-height:40px; border:1px solid #d9d9d9; outline:none; margin:15px auto 10px auto; padding-left:8px; padding-top:5px;}
-.homepagePostReplyEmotion {background:url(../images/homepage_icon.png) -90px -88px no-repeat; width:50px; height:24px; float:left; padding-left:30px;}
-.homepagePostReplySubmit {float:right; width:45px; height:24px; text-align:center; line-height:24px; vertical-align:middle; font-size:12px; color:#ffffff; background-color:#269ac9;}
-.homepagePostReplySubmit:hover {background-color:#297fb8;}
-a.postReplySubmit {color:#ffffff; display:block;}
-.homepagePostReplyCancel {float:right; width:45px; height:24px; text-align:center; line-height:24px; vertical-align:middle; font-size:12px; color:#888888; background-color:#cecece; margin-left:8px;}
-.homepagePostReplyCancel:hover {background-color:#717171;}
-a.postReplyCancel {color:#888888; display:block;}
-a.postReplyCancel:hover {color:#ffffff;}
-.homepagePostReplyInputContainer2 {width:620px; margin:0px auto;}
-.homepagePostReplyInput2 {width:610px; height:25px; max-width:610px; max-height:25px; border:1px solid #d9d9d9; outline:none; margin:0px auto 10px auto; padding-left:8px; padding-top:5px;}
-.homepagePostReplyContainer {border-bottom:1px solid #e3e3e3; width:690px; margin:0px auto; margin-top:15px; min-height:60px;}
-.homepagePostSetting {position:absolute; width:20px; height:20px; right:0px; top:0px;}
-.homepagePostSettingIcon {background:url(../images/homepage_icon.png) -93px -5px no-repeat; width:20px; height:20px;}
-.homepagePostSettiongText {width:85px; line-height:2; font-size:12px; color:#616060; background-color:#ffffff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-68px; top:20px; padding:5px 0px; display:none;}
-.homepagePostSettingIcon:hover {background:url(../images/homepage_icon.png) -93px -44px no-repeat;}
-/*a.postOptionLink {color:#616060; display:block; width:55px; padding:0px 15px;}*/
-/*a.postOptionLink:hover {color:#ffffff; background-color:#15bccf;}*/
-.homepagePostReplyPortrait {float:left; width:45px;}
-.homepagePostReplyDes {float:left; width:620px; margin-left:15px;}
-.homepagePostReplyPublisher {font-size:12px; color:#484848; margin-bottom:5px;}
-.homepagePostReplyContent {font-size:12px; color:#484848; margin-bottom:12px;}
-.table_maxWidth table {max-width: 642px;}
-.homepagePostProjectState {width:42px; height:20px; line-height:20px; border-radius:1px; background-color:#28be6c; color:#ffffff; text-align:center; vertical-align:middle; font-size:12px; display:inline-block; margin-left:5px;}
-.homepagePostAssignTo {float:left; font-size:14px; color:#15bccf;}
-.homepagePostFileAtt {height:22px; line-height:22px; vertical-align:middle; background:url(../images/homepage_icon.png) -85px -150px no-repeat; padding-left:35px; font-size:14px;}
-.homepagePostImageAtt {height:22px; line-height:22px; vertical-align:middle; background:url(../images/homepage_icon.png) -86px -195px no-repeat; padding-left:35px; font-size:14px; margin-right:25px;}
-.postAttSize {color:#888888; font-size:12px; margin-left: 5px;}
-a.postGrey {color:#484848;}
-a.postGrey:hover {color:#000000;}
-.homepagePostReplyjournal{margin-left: 15px; float: left;}
-
-/*课程主页css*/
-.homepageCoursesType {width:75px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-65px; font-size:12px; color:#4b4b4b; line-height:2; z-index:9999; display:none;}
-
-/*注册登陆页面*/
-#loginInBox {display:block; margin-top:143px;}
-#signUpBox {display:none; margin-top:79px;}
-#loginSignButton {height:54px; padding-left:10px; padding-right:10px; text-align:center; line-height:54px; vertical-align:middle; color:#ffffff; font-size:16px;}
-#loginInButton {height:54px; padding-left:10px; padding-right:10px; text-align:center; line-height:54px; vertical-align:middle; color:#ffffff; font-size:16px;}
-#loginSignButton:hover {background-color:#297fb8;}
-#loginInButton:hover {background-color:#297fb8;}
-.loginContentContainer {width:100%; background-color:#269ac9; margin-top:1px; height:580px;}
-.loginContent {width:1000px; margin:0px auto;}
-.loginLeft {width:595px; float:left;}
-.loginLogo {padding-left:208px; padding-top:155px;}
-.loginInro {width:465px; padding-top:55px; padding-left:50px; font-size:16px; color:#ffffff;}
-.loginRight {width:405px; float:left;}
-.loginChooseBox {width:405px; height:54px; background-color:#ffffff; padding-top:18px;}
-.loginChooseList {width:350px; height:30px; font-size:14px; margin:0px auto;}
-.loginChoose {width:55px; height:30px; border-bottom:1px solid #269ac9; text-align:center; font-weight:bold;}
-a.loginChooseTab {color:#484848; height:30px; display:block;}
-.loginInButton {width:315px; height:40px; background-color:#269ac9; margin-left:46px; font-size:14px; text-align:center; line-height:40px; vertical-align:middle; margin-top:20px;}
-.loginInButton:hover {background-color:#297fb8;}
-.loginUpButton {width:315px; height:40px; background-color:#269ac9; margin-left:46px; font-size:14px; text-align:center; line-height:40px; vertical-align:middle; margin-top:30px;}
-.loginUpButton:hover {background-color:#297fb8;}
-.loginChooseBorder {width:295px; height:30px; border-bottom:1px solid #e3e3e3;}
-.loginSign {width:405px; background-color:#ffffff;}
-.loginSignBox {width:308px; height:38px; margin-left:46px; border:1px solid #98a1a6; outline:none;}
-.loginSignOption {margin-left:46px; margin-top:15px;}
-.loginIn {width:405px; background-color:#ffffff; padding-bottom:30px;}
-.loginSignAlert {font-size:12px; color:#fc0000; margin-left:60px;}
-.loginSignRow {height:60px; min-height:60px;}
-
-/*课程选择弹窗*/
-.coursesChoosePopup {width:530px; height:auto; padding-left:20px; padding-bottom:35px; background-color:#ffffff;}
-.coursesSearchBox {border:1px solid #e6e6e6; width:515px; height:25px; background-color:#ffffff; margin-top:12px; margin-bottom:15px;}
-.searchCoursesPopup {border:none; outline:none; background-color:#ffffff; width:470px; height:25px; padding-left:10px; display:inline-block; float:left;}
-.searchIconPopup{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon.png) -180px -273px no-repeat; display:inline-block; float:left;}
-.searchIconPopup:hover {background:url(../images/homepage_icon.png) -180px -314px no-repeat;}
-
-/*导入作业弹窗*/
-.homeworkPublish {width:500px; height:15px; line-height:15px;}
-.homeworkPublishTime {font-size:12px; color:#b1b1b1; margin-left:22px; margin-bottom:8px;}
-.homeworkListForm{height: 160px;width: 550px;overflow: scroll;overflow-x: hidden;}
-.w450{width: 450px;}
-
-/*引用资源库弹窗*/
-.popbox{position:fixed !important;left:50%;top:50%;margin:-100px 0 0 -150px; -moz-border-radius:5px;}
-.referenceResourcesPopup {width:750px !important; height:500px !important; border:3px solid #269ac9 !important; padding-left:16px !important; padding-right:16px !important; padding-bottom:16px !important; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-375px; z-index:1000;}
-.referenceText {font-size:16px; color:#269ac9; line-height:16px; display:inline-block; font-weight:bold;}
-.referenceSearchBox {border:1px solid #e6e6e6; width:235px; height:32px; background-color:#ffffff; margin-top:12px; margin-bottom:15px;}
-.searchReferencePopup {border:none; outline:none; background-color:#ffffff; width:190px; height:32px; padding-left:10px; display:inline-block; float:left;}
-.referenceSearchIcon{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon2.png) -180px -270px no-repeat; display:inline-block; float:left;}
-.referenceSearchIcon:hover {background:url(../images/homepage_icon2.png) -180px -311px no-repeat;}
-.referenceResourceType {font-size:14px; width:460px; height:34px; line-height:34px; vertical-align:middle; background-color:#f6f6f6; margin-top:15px;}
-.referenceTypeActive {background-color:#269ac9; color:#ffffff !important;}
-a.referenceTypeBlock {color:#888888; display:inline-block; padding:0px 20px;}
-
-/*复制课程弹窗*/
-.copyCoursePopup {width:750px !important; height:auto !important; border:3px solid #269ac9 !important; padding-left:16px !important; padding-right:16px !important; padding-bottom:16px !important; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-375px; z-index:1000;}
-
-/*底部*/
-#Footer{background-color:#ffffff; margin-bottom:10px; padding-bottom:15px; color:#666666;}
-.footerAboutContainer {width:auto; border-bottom:1px solid #efefef;}
-.footerAbout{ width:585px; margin:0 auto;height:35px; line-height:35px; border-bottom:1px solid #efefef; }
-.languageBox {width:55px; height:20px; margin-left:5px; outline:none; color:#666666; border:1px solid #d9d9d9;}
-.departments{ width:890px; margin:5px auto 0 auto;height:30px;line-height:30px;}
-.copyright{ width:375px; margin:0 auto;height:20px;line-height:20px;}
-a.f_grey {color:#666666;}
-a.f_grey:hover {color:#000000;}
-/*意见反馈*/
-html{ overflow-x:hidden;}
-.scrollsidebar{ position: fixed; bottom:1px; right:1px; background:none; }
-.side_content{width:154px; height:auto; overflow:hidden; float:left; }
-.side_content .side_list {width:154px;overflow:hidden;}
-.show_btn{ width:0; height:112px; overflow:hidden; float:left; margin-top:200px; cursor:pointer;}
-.show_btn span { display:none;}
-.close_btn{width:24px;height:24px;cursor:pointer;}
-.side_title,.side_bottom,.close_btn,.show_btn {background:url(../images/sidebar_bg.png) no-repeat; }
-.side_title {height:35px;}
-.side_bottom { height:8px;}
-.side_center {font-family:Verdana, Geneva, sans-serif; padding:0px 12px; font-size:12px;}
-.close_btn { float:right; display:block; width:21px; height:16px; margin:9px 10px 0 0; _margin:16px 5px 0 0;}
-.close_btn span { display:none;}
-.side_center .custom_service p { text-align:center; padding:6px 0; margin:0; vertical-align:middle;}
-.msgserver { margin:10px 0 0px 5px;}
-.msgserver a { background:url(../images/sidebar_bg.png) no-repeat -119px -110px; padding-left:22px; display:block; height:24px; }
-.opnionText{box-shadow:none; width:122px; height:180px; border-color: #DFDFDF; background:#fff; color:#999; padding:3px; font-size:12px;overflow:auto; background-attachment:fixed;border-style:solid;}
-a.opnionButton{ display:block; background:#269ac9; width:130px; height:26px; margin-top:5px; text-align:center; padding-top:0px; color:#fff;}
-a.opnionButton:hover{background: #297fb8; }
-/* blue skin as the default skin */
-.side_title {background-position:-195px 0;}
-.side_center {background:url(../images/blue_line.png) repeat-y center; }
-.side_bottom {background-position:-195px -50px;}
-.close_btn {background-position:-44px 0;}
-.close_btn:hover {background-position:-66px 0;}
-.show_btn {background-position:-119px 0;}
-.msgserver a {color:#269ac9; }
-.msgserver a:hover { text-decoration:underline; }
-.closeSidebar {background:url(../images/sidebar_bg.png) 0px -112px no-repeat; width:28px; height:18px; margin-top:65px; position:absolute;}
-
-
-.hiddent{ overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
-.break_word_firefox{white-space: pre-wrap;word-break: break-all;}
-.font_bold{font-weight: bold;}
-
-
-/***** Ajax indicator ******/
-#ajax-indicator {
- position: absolute; /* fixed not supported by IE */
- background-color:#eee;
- border: 1px solid #bbb;
- top:35%;
- left:40%;
- width:20%;
- font-weight:bold;
- text-align:center;
- padding:0.6em;
- z-index:100000;
- opacity: 0.5;
-}
-
-html>body #ajax-indicator { position: fixed; }
-
-#ajax-indicator span {
- background-position: 0% 40%;
- background-repeat: no-repeat;
- background-image: url(../images/loading.gif);
- padding-left: 26px;
- vertical-align: bottom;
-}
-
-div.modal {
- border-radius: 5px;
- background: #fff;
- z-index: 50;
- padding: 4px;
-}
-.ui-widget-content {
- border: 1px solid #ddd;
- color: #333;
-}
-.ui-widget {
- font-family: Verdana, sans-serif;
- font-size: 1.1em;
-}
-.ui-dialog .ui-dialog-content {
- position: relative;
- border: 0;
- padding: .5em 1em;
- background: none;
- overflow: auto;
- zoom: 1;
-}
-.ui-widget-overlay {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-.ui-widget-overlay {
- background: #666 url(http://forge.trustie.net/stylesheets/jquery/images/xui-bg_diagonals-thick_20_666666_40x40.png.pagespeed.ic.9mfuw_R0z1.png) 50% 50% repeat;
- opacity: .5;
- filter: Alpha(Opacity=50);
-}
-/***** end Ajax indicator ******/
-
-/***** Flash & error messages ****/
-#errorExplanation, div.flash, .nodata, .warning, .conflict {
- padding: 4px 4px 4px 30px;
- margin-bottom: 12px;
- font-size: 1.1em;
- border: 2px solid;
-}
-
-div.flash {margin-top: 8px;}
-
-div.flash.error, #errorExplanation {
- background: url(../images/exclamation.png) 8px 50% no-repeat;
- background-color: #ffe3e3;
- border-color: #dd0000;
- color: #880000;
-}
-
-div.flash.notice {
- background: url(../images/true.png) 8px 5px no-repeat;
- background-color: #dfffdf;
- border-color: #9fcf9f;
- color: #005f00;
- word-wrap: break-word;
- word-break: break-all
-}
-
-div.flash.warning, .conflict {
- background: url(../images/warning.png) 8px 5px no-repeat;
- background-color: #FFEBC1;
- border-color: #FDBF3B;
- color: #A6750C;
- text-align: left;
-}
-
-.nodata, .warning {
- text-align: center;
- background-color: #FFEBC1;
- border-color: #FDBF3B;
- color: #A6750C;
-}
-
-#errorExplanation ul { font-size: 0.9em;}
-#errorExplanation h2, #errorExplanation p { display: none; }
-
-.conflict-details {font-size:80%;}
-/***** end Flash & error messages ****/
-
-
-/*弹出框*/
-.black_overlay{display:none;position:fixed;top:0px;left:0px;width:100%;height:100%;background-color:black;z-index:1001;-moz-opacity:0.8;opacity:.80;filter:alpha(opacity=80);}
-.white_content{display:none;position:fixed;top:15%;left:30%;width:420px;height: auto; margin-bottom:20px;padding:16px;border:3px solid #15bccf;background-color:white;z-index:1002;overflow:auto;}
-.white_content02{display:none;position:fixed;top:15%;left:30%;width:450px;height: auto; margin-bottom:20px;padding:10px;border:3px solid #15bccf;background-color:white;z-index:1002;overflow:auto;}
-.floatbox{ width:420px; border:3px solid #15bccf; background:#fff; padding:5px;}
-a.box_close{ display:block; float:right; width:16px; height:16px; background:url(../images/img_floatbox.png) 0 0 no-repeat;}
-a.box_close{background:url(../images/img_floatbox.png) -22px 0 no-repeat;}
-
-/*文本左对齐*/
-.tl{text-align: left;}
-.embed img,embed{max-width: 100%;}
-.attachments {clear: both;}
-.is_public_checkbox{margin-left: 15px;margin-right: 10px;}
-.author_name{color: #3ca5c6 !important;}
-.ke-container-default{max-width: 100%;}
-
-/*底部*/
-/*#Footer{background-color:#ffffff; margin-bottom:10px; padding-bottom:15px; color:#666666;}*/
-/*.footerAboutContainer {width:auto; border-bottom:1px solid #efefef;}*/
-/*.footerAbout{ width:585px; margin:0 auto;height:35px; line-height:35px; border-bottom:1px solid #efefef; }*/
-/*.languageBox {width:55px; height:20px; margin-left:5px; outline:none; color:#666666; border:1px solid #d9d9d9;}*/
-/*.departments{ width:890px; margin:5px auto 0 auto;height:30px;line-height:30px;}*/
-/*.copyright{ width:390px; margin:0 auto;height:20px;line-height:20px;}*/
-/*a.f_grey {color:#666666;}*/
-/*a.f_grey:hover {color:#000000;}*/
-
-/*资源库*/
-.resources {width:718px; background-color:#ffffff; padding:15px; border:1px solid #dddddd;float: right}
-.resourcesBanner {width:730px; height:40px; background-color:#eaeaea; margin-bottom:10px;}
-.bannerName {background:#64bdd9; color:#ffffff; height:40px; line-height:40px; width:90px; text-align:center; font-weight:normal; vertical-align:middle; font-size: 16px; float:left;}
-.resourcesSelect {width:30px; height:24px; float:right; position:relative; margin-top:-6px;}
-.resourcesSelected {width:25px; height:20px; position:relative; background:url(images/resource_icon_list.png) 0px 0px no-repeat;}
-.resourcesSelected:hover { background:url(images/resource_icon_list.png) 0px -25px no-repeat;}
-.resourcesIcon {margin-top:15px; display:block; width:25px; height:20px;}
-a.resourcesGrey {font-size:12px; color:#888888;}
-a.resourcesGrey:hover {font-size:12px; color:#269ac9;}
-.resourcesBanner ul li:hover ul.resourcesType {display:block;}
-.resourcesSelected:hover ul {display:block;}
-.resourcesUploadBox {float:right; width:103px; height:34px; background-color:#269ac9; line-height:34px; vertical-align:middle; text-align:center; margin-left:12px;}
-.resourcesUploadBox:hover {background-color:#297fb8;}
-.uploadIcon {background:url(images/resource_icon_list.png) -35px 10px no-repeat; float:left; display:block; width:30px; height:30px; margin-left:-3px;}
-a.uploadText {color:#ffffff; font-size:14px;}
-.resourcesSearchloadBox {border:1px solid #e6e6e6; width:225px; float:left; background-color:#ffffff;}
-.searchResource {border:none; outline:none; background-color:#ffffff; width:184px; height:32px; padding-left:10px; display:block; float:left;}
-.searchIcon{width:31px; height:32px; background-color:#ffffff; background:url(images/resource_icon_list.png) -40px -15px no-repeat; display:block; float:left;}
-.resourcesSearchBanner {width:710px; height:34px; margin-bottom:10px; margin-top:15px; margin-left:auto; margin-right:auto;}
-.resourcesListTab {width:710px; height:40px; background-color:#f6f6f6; border-bottom:1px solid #eaeaea; font-size:14px; color:#7a7a7a; margin-left:auto; margin-right:auto;}
-.resourcesListName {width:340px; height:40px; line-height:40px; text-align:left;}
-.resourcesListSize {width:85px; height:40px; line-height:40px; text-align:center;}
-.resourcesListType {width:85px; height:40px; line-height:40px; text-align:center;}
-.resourcesListUploader {width:85px; height:40px; line-height:40px; text-align:center;}
-.resourcesListTime {width:95px; height:40px; line-height:40px; text-align:center;}
-a.resourcesBlack {font-size:12px; color:#4c4c4c;white-space: nowrap;text-align: left}
-a.resourcesBlack:hover {font-size:12px; color:#000000;}
-.resourcesListCheckbox {width:20px; height:40px; line-height:40px; text-align:center; vertical-align:middle;}
-.resourcesCheckbox {padding:0px; margin:0px; margin-top:14px; width:12px; height:12px;}
-.resourcesList {width:710px; height:39px; background-color:#ffffff; border-bottom:1px dashed #eaeaea; color:#9a9a9a; font-size:12px; margin-left:auto; margin-right:auto;}
-.resourcesListOption {width:710px; height:40px; line-height:40px; vertical-align:middle; margin-left:auto; margin-right:auto; background-color:#f6f6f6;}
-.resourcesCheckAll {width:20px; height:40px; line-height:40px; text-align:center; vertical-align:middle; float:left;}
-.resourcesSelectSend {float:right;}
-.resourcesSelectSendButton {width:75px; height:28px; background-color:#ffffff; line-height:28px; vertical-align:middle; margin-top:5px; margin-right:10px; margin-left:15px; text-align:center; border:1px solid #269ac9; border-radius:5px; float:right;}
-a.sendButtonBlue {color:#269ac9;}
-a.sendButtonBlue:hover {color:#ffffff;}
-.resourcesSelectSendButton:hover {background-color:#297fb8;}
-.db {display:block !important;}
-
-.dropdown-menu {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: 1000;
- display: none;
- float: left;
- min-width: 80px;
- padding: 5px 0;
- margin: 2px 0 0;
- font-size: 12px;
- text-align: left;
- background-color: #fff;
- -webkit-background-clip: padding-box;
- background-clip: padding-box;
- border: 1px solid #ccc;
- border-radius: 4px;
- -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
- box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
-}
-.dropdown-menu > li > a {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: 1.5;
- color:#616060;
- white-space: nowrap;
-}
-.dropdown-menu > li > a:hover{
- color: #ffffff;
- text-decoration: none;
- background-color: #64bdd9;
- outline:none;
-}
-a.resourcesTypeAll {background:url(images/homepage_icon.png) -180px -89px no-repeat; padding-left:23px;}
-a.resourcesTypeAtt {background:url(images/homepage_icon.png) -180px -49px no-repeat; padding-left:23px;}
-a.resourcesTypeUser {background:url(images/homepage_icon.png) -178px -453px no-repeat; padding-left:23px;}
-.resourcesType {width:75px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:10px 20px; left:-90px; font-size:12px; color:#888888; display:none; line-height:2;}
-
-.AgreementBox{margin: 20px 0; color: #666666; font-size: 14px; line-height: 1.9;}
-.Agreementh4{ color:#2980b9; font-weight:bold; font-size:14px; margin-top:30px; border: none;}
-.AgreementTxt{text-indent:2em; margin-bottom:15px;}
-.AgreementImg{ margin:0px auto;}
-
-.list_style ol li{list-style-type: decimal;margin-left: 20px;}
-.list_style ul li{list-style-type: disc;margin-left: 20px;}
-
-/* @功能 定义 */
-span.at {color:#269ac9;}
-span.at a{color:#269ac9;text-decoration: none;}
-
-/*20151217资源库Tim*/
-.preview {background:url(../images/hwork_icon.png) -75px -120px no-repeat; width:20px; height:20px; display:inline-block;}
-.mediaIcon {background:url(../images/hwork_icon.png) -5px -160px no-repeat; padding-left:23px;}
-.codeIcon {background:url(../images/hwork_icon.png) -78px -160px no-repeat; padding-left:23px;}
-.othersIcon {background:url(../images/hwork_icon.png) -3px -210px no-repeat; padding-left:23px;}
-.thesisIcon {background:url(../images/hwork_icon.png) -78px -212px no-repeat; padding-left:23px;}
-.softwareIcon {background:url(../images/hwork_icon.png) -5px -254px no-repeat; padding-left:23px;}
-
-.shareDP {width:415px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:relative; z-index:1000;}
-.shareArrow {background:url(../images/arrowList.png) -90px -108px no-repeat; display:inline-block; width:5px; height:10px; margin-right:3px;}
-.sectionWrap {float:left; max-height:150px; margin-bottom:10px; overflow:auto; overflow-x:hidden; width:205px; min-height:150px; padding-top:5px; border:1px solid #dddddd;}
-.columnWrap {float:left; max-height:155px; margin-bottom:10px; overflow:auto; overflow-x:hidden; width:178px; min-height:155px; border:1px solid #dddddd;}
-.columnWrap li {padding-left:10px; color:#585858; line-height:20px;}
-.columnWrap li:hover {background-color:#cccccc;}
-.columnWrap span {width:150px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:inline-block; height:20px; vertical-align:top;}
-.sectionRow:hover {background-color:#cccccc; cursor:pointer;}
-.sectionContent {}
-.sectionContent li {padding-left:10px; line-height:20px;}
-.sectionContent li:hover {background-color:#cccccc;}
-.sectionContent span {width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:inline-block; height:20px; vertical-align:top;}
-.orgDirection {width:392px; background-color:#f1f1f1; height:30px; vertical-align:middle; line-height:30px; color:#585858; padding-left:10px;}
-.orgSendSearch {border:1px solid #dddddd; outline:none; width:262px; height:22px; padding-left:10px; float:left;}
-/*新课程、项目资源库*/
-.reCon{ margin:5px; width:710px;}
-.reTop{width:710px; height:40px; background:#eaeaea; padding:5px;}
-.researchBox { width:240px; height:24px; border:1px solid #dddddd; color:#666666; outline:none;}
-.blueBtn{ width:60px; height:26px; color:#FFF; border:none; background-color:#269ac9; cursor:pointer; padding-left:0px; text-align:center;}
-.blueBtn:hover {background-color:#298fbd;}
-
-/*文本描述展开高度*/
-.maxh360 {max-height: 810px;}
-.lh18 { line-height: 18px;}
-
-/*151228样式更新*/
-.menuSetting {background:url(../images/hwork_icon.png) -5px -132px no-repeat; display:inline-block; width:20px; height:20px;}
-.boxShadow {box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5);}
-a.greyBtn{ display:inline-block; background:#f2f3f3; padding:0px 5px; height:20px; border:1px solid #d3d3d3; color:#888888; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
-a:hover.greyBtn{border:1px solid #888888; }
-a.blueBtn{ display:inline-block; background:#269ac9; padding:0px 5px; height:20px; border:1px solid #269ac9; color:#ffffff; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
-a.blueBtn:hover {background-color:#298fbd;}
-a.cancelBtn{ display:inline-block; background:#c1c1c1; padding:0px 5px; height:20px; border:1px solid #d3d3d3; color:#ffffff; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
-a.cancelBtn:hover {background:#888888;}
-a.userFollow{ display:inline-block; width:55px; height:20px; border:1px solid #d3d3d3; color:#888888; background:#f2f3f3 url(../images/homepage_icon2.png) -9px -6px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
-a:hover.userFollow{border:1px solid #888888; }
-a.userCancel{ display:inline-block; width:55px; height:20px; border:1px solid #d3d3d3; color:#888888; background:#f2f3f3 url(../images/homepage_icon2.png) -177px -6px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
-a:hover.userCancel{border:1px solid #888888; }
-.pAbsolute {position:absolute; z-index:999;}
-.userAvatarWrap {width:50px; height:50px; position:relative; border:1px solid #cbcbcb; padding: 2px;}
-.userAvatarWrap:hover {border:1px solid #269ac9;}
-.mr27 {margin-right:27px;}
-.userCard {width:208px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px; padding:15px; top:-176px; left:-95px; position:absolute; z-index:999; display:none;}
-.userCard font {display:block; border-width:8px; position:absolute; bottom:-16px; left:110px; border-style:solid dashed dashed dashed; border-color:#FFF transparent transparent transparent; font-size:0; line-height:0;}
-.userCard em {display:block; border-width:8px; position:absolute; bottom:-17px; left:110px; border-style:solid dashed dashed dashed; border-color:#eaeaea transparent transparent transparent; font-size:0; line-height:0;}
-.userCardM {width:201px; height:20px; border:1px solid #dddddd; resize:none;}
-.resourceCopy {padding:0px; margin:0px; width:12px; height:12px; display:inline-block;}
+/* CSS Document */
+/* 2015-06-26 */
+body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{ margin:0; padding:0;}
+body,table,input,textarea,select,button { font-family: "微软雅黑","宋体"; font-size:12px;line-height:1.5; background:#eaebec;}
+div,img,tr,td,table{ border:0;}
+table,tr,td{border:0;cellspacing:0; cellpadding:0;}
+ol,ul,li{ list-style-type:none}
+a:link,a:visited{color:#7f7f7f;text-decoration:none;}
+a:hover,a:active{color:#000;}
+a:hover {text-decoration: none; }
+textarea {resize: none;}
+.pInline {margin:0px; padding:0px; display:inline-block;}
+
+/*常用*/
+select,input,textarea{ border:1px solid #dddddd; background:#fff; color:#000; padding-left:5px}
+.sub_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #707070; color:#000; border-radius:3px; padding:1px 10px; margin-bottom:10px; background:#dbdbdb;}
+.sub_btn:hover{ background:#b5e2fa; color:#000; border:1px solid #3c7fb1;}
+table{ background:#fff;}
+.more{ font-weight:normal; color:#999; font-size:12px;}
+.no_line{ border-bottom:none;}
+.line{border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;}
+.no_border{ border:none;}
+.min_search{ width:150px; height:20px; border:1px solid #d0d0d0; color:#666; background:url(../images/new_project/public_icon.png) 135px -193px no-repeat;}
+a.btn_message_free{ background:#ff5722; display:block; text-align:center; color:#fff; padding:3px 0; width:80px; margin-bottom:10px;}
+.db {display:block;}
+/* font & color */
+h2{ font-size:18px; color:#15bccf;}
+h3{ font-size:14px; color:#e8770d;}
+h4{ font-size:14px; color:#3b3b3b;}
+.f12{font-size:12px; font-weight:normal;}
+.f14{font-size:14px;}
+.f16{font-size:16px;}
+.f18{font-size:18px;}
+.f20{font-size:20px;}
+.fb{font-weight:bold;}
+.lh20{line-height:20px;}
+.lh22{line-height:22px;}
+.lh24{line-height:24px;}
+.lh26{line-height:26px;}
+.fmYh{font-family:"MicroSoft Yahei";}
+.font999{ color:#999;}
+.fontRed{color:#770000;}
+.text_c{ text-align:center;}
+
+/* Float & Clear */
+.cl{ clear:both; overflow:hidden; }
+.fl{float:left;display:inline;}
+.fr{float:right;display:inline;}
+.f_l{ float:left;}
+.f_r{ float:right;}
+.clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden}
+.clearfix{clear:both;zoom:1}
+.break_word{ word-break:break-all; word-wrap: break-word;}
+.hidden{overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
+.flow_hidden{ width:300px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
+.white_space{white-space:nowrap;}
+.pr {position:relative;}
+
+/* Spacing */
+.ml2{ margin-left:2px;}
+.ml3{ margin-left:3px;}
+.ml4{ margin-left:4px;}
+.ml5{ margin-left:5px;}
+.ml8{ margin-left:8px;}
+.ml10{ margin-left:10px;}
+.ml15{ margin-left:15px;}
+.ml16{ margin-left: 16px;}
+.ml20{ margin-left:20px;}
+.ml30{margin-left:30px !important;}
+.ml35{margin-left: 35px;}
+.ml40{ margin-left:40px;}
+.ml45{ margin-left:45px;}
+.ml48{ margin-left:48px;}
+.ml53{margin-left:53px;}
+.ml55{ margin-left:55px;}
+.ml58{margin-left:58px;}
+.ml30{ margin-left:30px;}
+.ml38{ margin-left:38px;}
+.ml60{ margin-left:60px;}
+.ml160 {margin-left:160px;}
+.ml80{ margin-left:80px;}
+.ml85{margin-left:85px;}
+.ml90{ margin-left:90px;}
+.ml95{margin-left:95px;}
+.ml100{ margin-left:100px;}
+.ml110{ margin-left:110px;}
+.ml125 { margin-left:125px;}
+.ml320{ margin-left:320px;}
+.ml150 { margin-left:150px;}
+.mr-5 {margin-right:-5px;}
+.mr5{ margin-right:5px;}
+.mr45 {margin-right:45px;}
+.mr55{ margin-right:55px;}
+.mr10{ margin-right:10px;}
+.mr15 {margin-right:15px;}
+.mr18 {margin-right:15px;}
+.mr20{ margin-right:20px;}
+.mr25 {margin-right:25px;}
+.mr30{ margin-right:30px;}
+.mr40{ margin-right:40px;}
+.mr45{margin-right: 45px;}
+.mr50{margin-right: 50px;}
+.mr55{margin-right: 55px;}
+.mr60 {margin-right:60px;}
+.mr70{margin-right: 70px;}
+.mw15{margin:0 15px;}
+.mr90 {margin-right:90px;}
+.mw20{ margin: 0 20px;}
+.mt1{margin-top: 1px;}
+.mt-4 {margin-top:-4px;}
+.mt0 {margin-top:0px !important;}
+.mt3{ margin-top:3px;}
+.mt5{ margin-top:5px;}
+.mt8{ margin-top:8px;}
+.mt10{ margin-top:10px !important;}
+.mt30{ margin-top: 30px;}
+.mt40{ margin-top: 40px;}
+.mt12 { margin-top:12px !important;}
+.mt15 {margin-top:15px;}
+.mt19 {margin-top:19px !important;}
+.ml70{margin-left: 70px;}
+.mb0 {margin-bottom: 0px !important;}
+.mb4{ margin-bottom:4px;}
+.mb5{ margin-bottom:5px;}
+.mb8 {margin-bottom:8px;}
+.mb10{ margin-bottom:10px !important;}
+.mb20{ margin-bottom:20px;}
+.pl10 {padding-left:10px;}
+.pl15{ padding-left:15px;}
+.pl5{ padding-left:5px;}
+.pt5{ padding-top:5px;}
+.pt10{ padding-top:10px;}
+.pb5{ padding-bottom: 5px;}
+.w20{ width:20px;}
+.w40{width: 40px;}
+.w45{ width: 45px;}
+.w50 {width:50px;}
+.w60{ width:60px;}
+.w70{ width:70px;}
+.w90{ width:90px;}
+.w100{width: 100px;}
+.w210{ width:210px;}
+.w150{ width:150px;}
+.w230{width:230px !important;}
+.w235{ width:235px !important;}
+.w280{ width:280px;}
+.w265{ width: 265px;}
+.w270{ width: 270px;}
+.w350 {width:350px;}
+.w362 {width:362px;}
+.w430{ width:470px;}
+.w455{width:455px !important;}
+.w465{width:465px !important;}
+.w520{ width:520px;}
+.w543{ width:543px;}
+.w557{ width:557px;}
+.w576{ width:576px;}
+.w583{ width:583px;}
+.w350{ width:350px;}
+.w610{ width:610px;}
+.w600{ width:600px !important;}
+.w606{ width:606px }
+.h20{height: 20px;}
+.h22{ height:22px;}
+.h26{ height:26px;}
+.h50{ height:50px;}
+.h70{ height:70px;}
+.h150{ height:150px;}
+.p10 {padding-left:10px; padding-right:10px;}
+.mw400 {max-width: 400px;}
+
+/* Font & background Color */
+a.b_grey{ background: #F5F5F5;}
+a.b_dgrey{ background: #CCC;}
+a.c_orange{color:#ff5722;}
+a:hover.c_orange{color: #d33503;}
+a.c_lorange{color:#ff9900;}
+a:hover.c_lorange{color:#fff;}
+a.c_blue{ color:#269ac9;}
+a.c_eblue{color: #3784D3}
+a.c_setting_blue{color: #0781B4}
+a.c_dblue{ color:#09658c;}
+a:hover.c_dblue{ color:#15bccf;}
+a.c_white{ color:#fff;}
+a.c_dorange{ color:#fd6e2a;}
+a.c_dark{color: #3e4040;}
+a:hover.c_dark{color: #3ca5c6;}
+a.b_blue{background: #64bdd9;}
+a:hover.b_blue{background: #41a8c8;}
+a.b_green{background:#28be6c;}
+a:hover.b_green{background:#14ad5a;}
+a.c_blue02{color: #3ca5c6;}
+a:hover.c_blue02{color: #0781b4;}
+a.c_red{ color:#F00;}
+a:hover.c_red{ color: #C00;}
+a.c_purple{color: #426e9a;}
+a:hover.c_purple{color: #d33503;}
+a.c_green{ color:#28be6c;}
+
+.b_grey{ background: #F5F5F5;}
+.b_dgrey{ background: #CCC;}
+.c_orange{color:#e8770d;}
+.c_dark{ color:#2d2d2d;}
+.c_lorange{ color:#ff9900;}
+.c_purple{color: #6883b6;}
+.c_blue{ color:#15bccf;}
+.c_red{ color:#F00;}
+.c_green{ color:#28be6c;}
+.c_grey{color:#999;}
+.c_dblue{ color:#09658c;}
+.b_blue{background:#64bdd9;}
+.b_green{background:#28be6c;}
+.b_w{ background:#fff;}
+
+/*add by Tim*/
+.fontGrey {color:#cecece;}
+.fontGrey2 {color:#888888;}
+.fontGrey3 {color:#484848;}
+.fontBlue {color:#3498db;}
+a.underline {text-decoration:underline;}
+a.fontBlue {color:#297fb8;}
+a.fontGrey {color:#cecece;}
+a.fontGrey2 {color:#888888;}
+a.linkOrange {color:#ff7143;}
+a.linkBlue {color:#269ac9;}
+a.linkBlue:hover {color:#297fb8;}
+a.linkBlue2 {color:#3498db;}
+a.linkBlue2:hover {color:#297fb8;}
+a.buttonBlue {background-color:#269ac9;}
+a.buttonBlue:hover {background-color:#297fb8;}
+a.linkGrey {color:#484848;}
+a.linkGrey:hover {color:#269ac9;}
+a.linkGrey2 {color:#888888;}
+a.linkGrey2:hover {color:#484848;}
+a.linkGrey3 {color:#484848;}
+a.linkGrey3:hover {color:#000000;}
+a.linkGrey4 {color:#484848;}
+a.linkGrey4:hover {color:#297fb8;}
+a.linkGrey5 {color:#484848;}
+a.linkGrey5:hover {color:#3498db;}
+a.linkGrey6 {color:#484848 !important;}
+a.linkGrey6:hover {color:#ffffff !important;}
+a.linkGrey7 {color:#888888;}
+a.linkGrey7:hover {color:#269ac9;}
+a.bBlue {background-color:#3498db;}
+a.bBlue:hover {background-color:#297fb8;}
+a.submit_btn {border:1px solid #3498db; padding:3px 10px; border-radius:3px; color:#3498db;}
+a.submit_btn:hover {background-color:#3498db; color:#ffffff;}
+
+/* commonBtn */
+.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center;padding:2px 10px;}
+a.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center;padding:2px 10px;}
+a:hover.grey_btn{ background:#717171; color:#fff;}
+.grey_n_btn{ background:#d9d9d9; color:#656565; font-weight:normal;padding:2px 10px; text-align:center;}
+a.grey_n_btn{background:#d9d9d9; color:#656565;font-weight:normal; padding:2px 10px; text-align:center;}
+a:hover.grey_n_btn{ background:#717171; color:#fff;}
+.green_btn{ background:#28be6c; color:#fff; font-size:14px; font-weight:normal;padding:2px 8px; text-align:center;}
+a.green_btn{background:#28be6c;color:#fff;font-size:14px; font-weight:normal; padding:2px 8px; text-align:center;cursor: pointer;}
+a:hover.green_btn{ background:#14ad5a;}
+.blue_btn{ background:#64bdd9; color:#fff; font-size:14px; font-weight:normal;padding:2px 8px; text-align:center;}
+a.blue_btn{background:#64bdd9;color:#fff;font-size:14px; font-weight:normal; padding:2px 8px; text-align:center;cursor: pointer;}
+.red_btn{ background:red; color:#fff; font-size:14px; font-weight:normal;padding:2px 8px; text-align:center;}
+a.red_btn{background:red; color:#fff;font-size:14px; font-weight:normal; padding:2px 8px; text-align:center;cursor: pointer;}
+a.orange_btn_homework{background:#d63502;color:#fff;font-size:14px; font-weight:normal; padding:2px 10px; text-align:center;}
+a:hover.blue_btn{ background:#329cbd;cursor: pointer;}
+a.orange_btn{ background:#ff5722;color:#fff;font-size:14px; font-weight:normal; padding:2px 10px; text-align:center; }
+a:hover.orange_btn{ background:#d63502;}
+
+.green_u_btn{border:1px solid #3cb761; padding:2px 10px; color:#3cb761;}
+a.green_u_btn{border:1px solid #3cb761; padding:2px 10px; color:#3cb761;}
+a:hover.green_u_btn{ background:#3cb761; color:#fff;}
+.orange_u_btn{border:1px solid #ff5d31; padding:2px 10px; color:#ff5d31;}
+a.orange_u_btn{border:1px solid #ff5d31; padding:2px 10px; color:#ff5d31;}
+a:hover.orange_u_btn{background:#ff5d31; color:#fff;}
+.bgreen_u_btn{border:1px solid #1abc9c; padding:2px 10px; color:#1abc9c;}
+a.bgreen_u_btn{border:1px solid #1abc9c; padding:2px 10px; color:#1abc9c;}
+a:hover.bgreen_u_btn{background:#1abc9c; color:#fff;}
+.blue_u_btn{border:1px solid #64bdd9; padding:2px 10px; color:#64bdd9;}
+a.blue_u_btn{border:1px solid #64bdd9; padding:2px 10px; color:#64bdd9;}
+a:hover.blue_u_btn{background:#64bdd9; color:#fff;}
+.blue_n_btn{ background:#64bdd9; color:#fff; font-weight:normal;padding:2px 10px; text-align:center;}
+a.blue_n_btn{background:#64bdd9;color:#fff;font-weight:normal; padding:2px 10px; text-align:center;}
+a:hover.blue_n_btn{ background:#329cbd;}
+.green_n_btn{background:#3cb761; padding:2px 10px; color:#fff;}
+a.green_n_btn{background:#3cb761; padding:2px 10px; color:#fff;}
+a:hover.green_n_btn{ background:#14ad5a;}
+.orange_n_btn{background:#ff5d31; padding:2px 10px; color:#fff;}
+a.orange_n_btn{background:#ff5d31; padding:2px 10px; color:#fff;}
+a:hover.orange_n_btn{background:#d63502;}
+.bgreen_n_btn{background:#1abc9c; padding:2px 10px; color:#fff;}
+a.bgreen_n_btn{background:#1abc9c; padding:2px 10px; color:#fff;}
+a:hover.bgreen_n_btn{background:#08a384;}
+
+.nolink_btn{ background:#BCBCBC; color: #fff; padding:2px 5px;}
+.more_btn{-moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #9DCEFF; color:#9DCEFF; border-radius:3px; padding:0px 3px;}
+.upbtn{ margin:40px 0 0 15px; display:block; padding:2px 5px; border:1px solid #eaeaea;}
+.upbtn:hover{color:#64bdd9;cursor: pointer;}
+.upload_file{margin-left: -60px;margin-top: 40px;width: 50px;position: absolute;height: 24px;opacity: 0;cursor: pointer}
+.undis{display:none;}
+.red_btn_cir{ background:#e74c3c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;white-space:nowrap;}
+.green_btn_cir{ background:#28be6c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;white-space:nowrap;}
+.blue_btn_cir{ background:#3498db; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;white-space:nowrap;}
+.orange_btn_cir{ background:#e67e22; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;white-space:nowrap;}
+.bgreen_btn_cir{ background:#1abc9c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;white-space:nowrap;}
+.grey_border{border:1px solid #dddddd !important; }
+/* commonpic */
+.pic_date{ display:block; background:url(../images/new_project/public_icon.png) -31px 0 no-repeat; width:16px; height:15px; float:left;}
+.pic_add{ display:block; background:url(../images/new_project/public_icon.png) -31px -273px no-repeat; width:16px; height:15px; float:left;}
+.pic_sch{ display:block; background:url(../images/new_project/public_icon.png) -31px -195px no-repeat; width:16px; height:15px; float:left;}
+.pic_mes{ display:block; background:url(../images/new_project/public_icon.png) 0px -376px no-repeat; width:20px; height:15px; padding-left:18px;}
+.pic_img{ display:block; background:url(../images/new_project/public_icon.png) -31px -419px no-repeat; width:20px; height:15px; }
+.pic_del{ display:block; background:url(../images/new_project/public_icon.png) 0px -235px no-repeat; width:20px; height:15px; }
+.pic_del:hover{ background:url(../images/new_project/public_icon.png) -32px -235px no-repeat; }
+.pic_stats{display:block; background:url(../images/new_project/public_icon.png) 0px -548px no-repeat; width:20px; height:15px;}
+.pic_files{display:block; background:url(../images/new_project/public_icon.png) 0px -578px no-repeat; width:20px; height:15px;}
+.pic_text{display:block; background:url(../images/new_project/public_icon.png) 0px -609px no-repeat; width:20px; height:18px;}
+.pic_text02{display:block; background:url(../images/new_project/public_icon.png) 0px -642px no-repeat; width:20px; height:19px;}
+.pic_edit{display:block; background:url(../images/new_project/public_icon.png) 0px -32px no-repeat; width:20px; height:15px;}
+.pic_edit:hover{display:block; background:url(../images/new_project/public_icon.png) -32px -32px no-repeat; width:20px; height:15px;}
+
+
+
+
+
+/*框架主类容*/
+#Container{ width:1000px; margin:0 auto; }
+
+/*头部导航*/
+#Header{ margin:10px 0; background:#15bccf; height:40px; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; position: relative;}
+.logo{ margin:5px 10px; }
+#TopNav{}
+#TopNav ul li{ margin-top:8px;}
+.topnav_a a{ font-size:14px; font-weight:bold; color:#fff; margin-right:10px;}
+.topnav_a a:hover{color: #a1ebff;}
+#userInfo {float:right; display:inline-block; width:130px; padding-top:5px;}
+.userInfoRow2 {margin-top:-5px;}
+.myPractice {display:inline-block;}
+a.parent {background: url(../images/arrowList.png) -30px 3px no-repeat; width:95px; padding-right:50px;}
+a.parent:hover {background: url(../images/arrowList.png) -30px -14px no-repeat; width:95px; padding-right:50px; color:#fe7d68;}
+a.linkToOrange:hover {color:#fe7d68;}
+#userInfo ul li {positon: relative;}
+#userInfo ul li ul {display:none;}
+#userInfo ul li:hover ul {display:block; position:absolute;}
+#userInfo ul li:hover ul li ul {display:none;}
+#userInfo ul li:hover ul li:hover ul {display:block; position:absolute; left:110px; top:6px; width:148px; border:1px solid #15bccf; background-color:#ffffff; padding:5px 0px;}
+#userInfo ul li:hover ul li:hover ul li {max-width:148px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:block; padding: 0 10px; line-height:1.5; color:#15bccf;}
+#TopUser{}
+#TopUser ul li{ margin-top:8px;}
+.topuser_a a{ font-size:14px; font-weight:bold; color:#fff; margin-right:10px;}
+.topuser_a a:hover{color: #a1ebff;}
+#TopUser02{ }
+#TopUser02 li{ float: left;}
+#TopUser02 li a{ margin-right:10px;color: #FFF;text-align: center;}
+#TopUser02 li a:hover{color: #a1ebff;}
+#TopUser02 div{ position: absolute;visibility: hidden;background:#fff;border: 1px solid #15bccf;}
+#TopUser02 div a{position: relative;display: block;white-space: nowrap;text-align: left; line-height:1.9; margin-left:5px;background: #fff;color:#15bccf; font-weight:normal;}
+#TopUser02 div a:hover{ color:#e8770d; font-weight: bold;}
+/*头部导航下拉*/
+div#menu {height:41px; font-size:14px; font-weight:bold; }
+div#menu ul {float: left;}
+div#menu ul.menu { padding-left: 30px; }
+div#menu li {position: relative; z-index: 9; margin: 0; display: block; float: left; }
+/*div#menu li:hover>ul { right: 5px;}*/
+div#menu a {position: relative;z-index: 10; height: 41px; display: block; float: left;line-height: 41px; text-decoration: none; font-size:14px; }
+div#menu a:hover, div#menu a:hover span { color: #a1ebff; }
+div#menu li.current a {}
+div#menu {display: block; cursor: pointer; background-repeat: no-repeat;background-position: 95% 0;padding-right: 15px; _padding-right: 20px;}
+div#menu ul a.user_name { width:170px; text-align:right; margin:0; }
+.pic_triangle{background: url(../images/item.png) -90px -48px no-repeat; float:right; display:block; width:10px; height:10px; margin-top:12px; margin-left:7px;}
+.pic_triangle:hover{background: url(../images/item.png) -90px -78px no-repeat; }
+div#menu ul ul a.parent {background: url(../images/item.png) -20px 6px no-repeat;width:60px;}
+div#menu ul ul a.parent:hover {background: url(../images/item.png) -20px -11px no-repeat;}
+/* menu::level1 */
+div#menu a { padding: 5px 12px 0 10px;line-height: 30px; color: #fff;}
+/*div#menu li { background: url(images/main-delimiter.png) 98% 4px no-repeat; }*/
+div#menu li.last { background: none; }
+/* menu::level2 */
+div#menu ul ul li { background: none; }
+div#menu ul ul { position: absolute;top: 38px; width: 90px; padding: 5px 0 0 0; background:#fff; border:1px solid #15bccf; margin-top:1px;}
+div#menu ul ul a {padding: 0 0 0 15px; height: auto; float: none;display: block; line-height: 24px; font-size:12px; font-weight:normal;color:#15bccf;}
+div#menu ul ul a:hover { color:#ff9900;}
+div#menu ul ul li.last { margin-left:15px; }
+div#menu ul ul li {width: 100%;}
+/* menu::level3 */
+div#menu ul ul ul {padding: 0;margin: -38px 0 0 90px !important; width:200px; }
+div#menu ul ul ul li a{ width:185px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf;}
+
+/*myctrip*/
+.userImage{position:absolute; right:140px; top:5px; width:30px;height:30px; background: url(../images/item.png) 2px 4px no-repeat; line-height:1.4;}
+a.topnav_login_a{color:#fff; display:inline-block;}
+a.topnav_login_a:hover {color:#a1ebff;}
+a.topnav_login_mes{color:#fff; width:10px;height:20px; padding-left:15px; background: url(../images/item.png) -84px -145px no-repeat; display:inline-block; vertical-align:top;}
+a.topnav_login_mes:hover {color:#a1ebff;}
+a.topnav_login_box{ color:#fff; font-size:14px; font-weight:bold; width:90px; display:inline-block;}
+.menuArrow {background:url(../images/item.png) -20px -40px no-repeat;}
+li.menuArrow:hover {background:url(../images/item.png) -20px -70px no-repeat;}
+a.topnav_login_box:hover {color:#a1ebff;}
+.navRow1 {margin:0; padding:0;}
+.navRow2 {margin:0; padding:0;}
+.topnav_login_list{ border:1px solid #eaeaea; background:#fff; padding-left:10px; padding-bottom:10px; padding-top:8px; width:60px; left:-7px; position:absolute; z-index:9999; line-height:2;}
+.topnav_login_list a{color:#15bccf;}
+.topnav_login_list li{ }
+
+/*主类容*/
+#Main{ background:#fff; margin-bottom:10px;}
+#content{}
+#content02{ background:#fff; padding:10px; margin-bottom:10px;}
+/*主类容搜索*/
+#TopBar{ height:60px; margin-bottom:10px; background:#fff;}
+.topbar_info02{ margin:5px 10px;width:480px; }
+.topbar_info02 p{color: #7f7f7f;}
+.search{ margin-top:8px; margin-left:71px;}
+.search_form{margin-top:8px;margin-left:72px;}
+.topbar_info{ width:350px; color:#5c5c5c; font-size:16px; margin-right:50px; line-height:1.3; padding-left:100px;}
+a.search_btn{ display:block; background:#15bccf; color:#fff; width:60px; height:24px; text-align:center; padding-top:3px;}
+a:hover.search_btn{ background: #0fa9bb;}
+.search_text{ border:1px solid #15bccf; background:#fff; width:220px; height:25px; padding-left:5px; }
+/*主类容左右分栏*/
+#LSide{ width:240px; }
+#RSide{ width:670px; margin-left:10px; background:#fff; padding:10px; margin-bottom:10px;}
+
+/*发送资源弹窗*/
+/*.resourceShareContainer {width:100%; height:100%; background:#666; filter:alpha(opacity=50); opacity:0.5; -moz-opacity:0.5; position:absolute; left:0; top:0; z-index:-999;}*/
+/*发送资源弹窗*/
+/*.resourceShareContainer {width:100%; height:100%; background:#666; filter:alpha(opacity=50); opacity:0.5; -moz-opacity:0.5; position:absolute; left:0; top:0; z-index:-999;}*/
+/*.resourceSharePopup {width:300px; height:auto; border:3px solid #15bccf; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-150px; z-index:1000;}*/
+.resourceSharePopup {width:300px; height:auto; border:3px solid #269ac9 !important; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-150px; z-index:1000;}
+.sendText {font-size:16px; color:#269ac9; line-height:16px; padding-top:20px; width:110px; display:inline-block; font-weight: bold;}
+.resourcesSendTo {float:left; height:20px; margin-top:15px;}
+.boxContainer {height:33px; line-height:33px; position:relative}
+.resourcesSendType {border:1px solid #e6e6e6; width:60px; height:24px; outline:none; font-size:14px; color:#888888;}
+.resourcePopupClose {width:20px; height:20px; display:inline-block; float:right;}
+.resourceClose {background:url(images/resource_icon_list.png) 0px -40px no-repeat; width:20px; height:20px; display:inline-block; position: absolute; z-index: 1000;}
+.resourcesSearchBox {border:1px solid #e6e6e6; width:225px; height:25px; background-color:#ffffff; margin-top:12px; margin-bottom:15px;}
+.searchResourcePopup {border:none; outline:none; background-color:#ffffff; width:184px; height:25px; padding-left:10px; display:inline-block; float:left;}
+.searchIconPopup{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon.png) 5px -394px no-repeat; display:inline-block; float:left; cursor: pointer;}
+.searchIconPopup:hover {background:url(../images/homepage_icon.png) 5px -420px no-repeat;}
+.searchIcon2{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon2.png) -180px -273px no-repeat; display:inline-block; float:left; cursor: pointer;}
+.searchIcon2:hover {background:url(../images/homepage_icon2.png) -180px -314px no-repeat;}
+.courseSend {width:390px; height:15px; line-height:15px; margin-bottom:10px;display:block;white-space:nowrap;}
+.courseSendCheckbox {padding:0px; margin:0px; width:12px; height:12px; margin-right:10px; display:inline-block; margin-top:2px;}
+.sendCourseName {font-size:12px; color:#5f6060;display:inline-block}
+.courseSendSubmit {width:50px; height:25px; line-height:25px; text-align:center; vertical-align:middle; background-color:#269ac9; margin-right:25px; float:left;cursor: pointer;}
+.courseSendSubmit:hover {background-color:#297fb8;}
+.courseSendCancel {width:50px; height:25px; line-height:25px; text-align:center; vertical-align:middle; background-color:#c1c1c1; float:left}
+.courseSendCancel:hover {background-color:#717171;}
+a.sendSourceText {font-size:14px; color:#ffffff;}
+input.sendSourceText {font-size:14px;color:#ffffff;background-color:#269ac9;cursor: pointer; outline: none; border: none; width: 50px; height: 25px;}
+input.sendSourceText:hover {background-color:#297fb8;}
+/*input.sendSourceText:hover {font-size:14px; color:#ffffff;}*/
+.resourcesSendTo {float:left; height:20px; margin-top:15px;}
+.resourcesSendType {border:1px solid #e6e6e6; width:60px; height:24px; outline:none; font-size:14px; color:#888888;}
+.courseReferContainer {float:left; max-height:120px;margin-right:16px;margin-bottom:10px; overflow:auto; overflow-x:hidden;}
+.popbox{/* width:300px; *//* height:100px; */position:fixed !important;/* z-index:100; */left:50%;top:50%;margin:-100px 0 0 -150px; /* background:#fff; */ -moz-border-radius:5px; /* -webkit-border-radius:5px; */ /* border-radius:5px; */ /* box-shadow:0px 0px 8px #194a81; */ /* overflow:auto; */}
+
+/*上传资源弹窗*/
+.resourceUploadPopup {width:400px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-200px; z-index:1000;}
+.uploadText {font-size:16px; color:#269ac9; line-height:16px; padding-top:15px; width:140px; display:inline-block;}
+.uploadBoxContainer {height:33px; line-height:33px; margin-top:10px; position:relative;}
+.uploadBox {width:100px; height:33px; line-height:33px; text-align:center; vertical-align:middle; background-color:#269ac9; border-radius:3px; float:left; margin-right:12px;}
+.uploadBox:hover {background-color:#297fb8;}
+a.uploadIcon {background:url(../images/resource_icon_list.png) 8px -60px no-repeat; width:100px; height:33px; display:block;}
+.chooseFile {color:#ffffff; display:block; margin-left:32px;}
+.uploadResourceIntr {width:250px; height:33px; float:left; line-height:33px; font-size:12px;}
+.uploadResourceName {width:250px; display:inline-block; line-height:15px; font-size:12px; color:#444444; margin-bottom:2px;}
+.uploadResourceIntr2 {width:250px; display:inline-block; line-height:15px; font-size:12px; color:#444444;}
+.uploadType {margin:10px 0; border:1px solid #e6e6e6; width:100px; height:30px; outline:none; font-size:12px; color:#888888;}
+.uploadKeyword {margin-bottom:10px; outline:none; border:1px solid #e6e6e6; height:30px; width:280px;}
+
+/*评分设置弹窗*/
+.markPopup {width:290px; height:auto; padding:5px 0px 15px 15px; background-color:#ffffff; z-index:1000;}
+.markInput {margin-bottom:10px; outline:none; border:1px solid #e6e6e6; height:30px; width:140px; color:#3d3c3c;}
+.markPercentage {margin:10px 0; border:1px solid #e6e6e6; width:70px; height:30px; outline:none; font-size:12px; color:#3d3c3c;}
+
+
+/*新个人主页框架css*/
+.navContainer {width:100%; margin:0 auto; background-color:#269ac9;}
+.homepageContentContainer {width:100%; margin:0 auto; background-color:#eaebed;}
+.homepageContent {width:1000px; background-color:#eaebed; margin:0 auto;}
+.navHomepage {width:1000px; height:54px; background-color:#269ac9; margin:0 auto;}
+.navHomepageLogo {width:60px; height:54px; line-height:54px; vertical-align:middle; margin-left:2px; margin-right:30px;}
+.navHomepageMenu {margin-right:20px; display:inline-block;height:54px; line-height:54px; vertical-align:middle;}
+.navHomepageMenu:hover {background-color:#297fb8;}
+.navHomepageSearchBoxcontainer {margin-top:11px; }
+.navHomepageSearchBox {width:380px; border:none; outline:none; height:32px; background-color:#ffffff;}
+.navHomepageSearchInput {width:345px; height:32px; outline:none; border:none; float:left; padding-left:5px;; margin:0;}
+.homepageSearchIcon {width:30px; height:32px; background:url(../images/nav_icon.png) -8px 3px no-repeat; float:left; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
+a.homepageSearchIcon:hover {background:url(../images/nav_icon.png) -49px 3px no-repeat; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
+.navSearchTypeBox {width:368px; height:35px; position:absolute; border:1px solid #98a1a6; background-color:#ffffff; padding-left:10px; display:none; color:#3e3e3e; font-size:14px;}
+#navSearchAlert {display:none;}
+.navHomepageNews {width:30px; display:block; float:right; margin-top:8px; position:relative;}
+.homepageNewsIcon {background:url(../images/nav_icon.png) -5px -85px no-repeat; width:30px; height:35px; display:block;}
+.newsActive {width:16px; height:16px; border-radius:50%; background-color:#ff0000; position:absolute; left:17px; top:5px; text-align:center;font-size:12px; color:#ffffff !important;padding-bottom: 3px;padding-left: 2px;padding-right: 1px;font-weight: bold;}
+.navHomepageProfile {width:65px; display:block; float:right; margin-left:33px;}
+.homepageProfileMenuIcon {background:url(../images/nav_icon.png) 30px -155px no-repeat; width:65px; height:54px; position:relative; display:inline-block;}
+.homepageProfileMenuIcon:hover {background:url(../images/nav_icon.png) 30px -122px no-repeat;}
+.navHomepageProfile ul li ul {display:none;}
+.navHomepageProfile ul li:hover ul {display:block;}
+.homepageLeft {width:240px; float:left; margin-right:10px; margin-bottom:10px; margin-top:15px;}
+.homepageRight {width:750px; float:left; margin-top:15px; margin-bottom:10px;}
+.homepagePortraitContainer {width:238px; border:1px solid #dddddd; background-color:#ffffff; padding-bottom:15px;}
+.homepagePortraitImage {width:206px; height:206px; padding:2px; margin:15px 14px 10px 14px; position:relative; border:1px solid #cbcbcb;}
+.homepagePortraitImage:hover {border:1px solid #297fb8;}
+.homepageFollow {background:url(../images/homepage_icon.png) -10px -8px no-repeat; width:20px; height:20px; position:absolute; right:9px; top:9px;}
+.homepageFollowCancel {background:url(../images/homepage_icon.png) -178px -8px no-repeat; width:20px; height:20px; position:absolute; right:9px; top:9px;}
+.homepageEditProfile {width:16px; height:16px; border-radius:2px; background-color:#888888; position:absolute; right:5px; bottom:5px; font-size:12px; filter:alpha(opacity=50); -moz-opacity:0.5; opacity: 0.5;}
+.homepageEditProfileIcon {background:url(../images/homepage_icon.png) -14px -37px no-repeat; width:16px; height:16px; display:block;}
+.homepageImageName {font-size:16px; color:#484848; margin-left:15px; margin-right:8px; height:25px; float:left;}
+.homepageImageSex {top:116px; left:5px; width:20px; height:20px; background:url(../images/homepage_icon.png) -10px -112px no-repeat; float:left;}
+.homepageImageSex2 {top:116px; left:5px; width:20px; height:20px; background:url(../images/homepage_icon.png) -10px -150px no-repeat; float:left;}
+.homepageSignature {font-size:12px; color:#888888; margin-left:15px; margin-top:10px; margin-bottom:12px; width:208px;}
+.homepageImageBlock {margin:0 auto; width:68px; float:left; text-align:center; display:inline-block;}
+.homepageImageNumber {font-size:12px; color:#484848; font-weight:bold;}
+a.homepageImageNumber:hover {color:#15bccf;}
+.homepageImageText {font-size:12px; color:#888888;}
+.homepageVerDiv {height:28px; vertical-align:middle; width:1px; float:left; display:inline-block; background-color:#d1d1d1; margin-top:3px;}
+.homepageLeftMenuContainer {width:238px; border:1px solid #dddddd; border-bottom:none; background-color:#ffffff; margin-top:10px;}
+.homepageLeftMenuBlock {border-bottom:1px solid #dddddd; height:50px; line-height:50px; vertical-align:middle;}
+.homepageLeftMenuCourses {font-size:14px; border-bottom:1px solid #dddddd;}
+.homepageLeftMenuCoursesLine {height:38px; line-height:38px; vertical-align:middle;}
+.homepageLeftMenuCoursesLine:hover {background-color:#b3e0ee;}
+a.coursesLineGrey {padding-left:25px; padding-right:25px; color:#808080; display:block;}
+a.coursesLineGrey:hover {color:#ffffff;}
+.homepageLeftMenuMore {height:18px;}
+.homepageLeftMenuMore:hover {background-color:#b3e0ee;}
+.homepageLeftMenuMoreIcon {background:url(../images/homepage_icon.png) -74px -240px no-repeat; display:block; height:18px;}
+.homepageMenuSetting {display:inline-block; margin-left:155px;}
+a.homepageMenuText {color:#484848; font-size:16px; margin-left:20px;}
+.homepageLeftLabelContainer {width:238px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px;}
+.homepageLabelText {color:#484848; font-size:16px; margin-left:10px; margin-bottom:12px; display:block;}
+.homepageRightBanner {width:718px; margin:0px auto; float:right; background-color: #ffffff; padding:10px 15px; border:1px solid #dddddd;}
+.NewsBannerName {font-size:16px; color:#4b4b4b; display:block; width:150px; float:left;}
+.newsType {width:60px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-40px; font-size:12px; color:#888888; display:none; line-height:2; z-index:9999;}
+.newsReadSetting {width:700px; background-color:#f6f6f6; border-bottom:1px solid #eeeeee; margin:10px auto; height:39px; line-height:39px; vertical-align:middle; font-size:14px; color:#7a7a7a; padding-left:10px;}
+.homepageNewsList {width:710px; height:49px; line-height:49px; vertical-align:middle; border-bottom:1px dashed #eaeaea; margin-left:10px;}
+.homepageNewsPortrait {width:40px; display:block; margin-top:7px;}
+.homepageNewsPublisher {width:80px; max-width:80px; margin-right:10px; font-size:12px; color:#15bccf; display:block; padding-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
+.homepageNewsType {width:95px; font-size:12px; color:#888888; display:block;}
+.homepageNewsContent {width:395px; max-width:395px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
+.homepageNewsTime {width:75px; font-size:12px; color:#888888; display:block; text-align:right;}
+a.homepageWhite {color:#ffffff;}
+a.homepageWhite:hover {color:#a1ebff}
+a.newsGrey {color:#4b4b4b;}
+a.newsGrey:hover {color:#000000;}
+a.newsRed {color:red;}
+a.newsRed:hover {color:#888888;}
+a.replyGrey {color:#888888; display:inline-block;}
+a.replyGrey:hover {color:#4b4b4b;}
+a.replyGrey1 {color:#888888;}
+a.replyGrey1:hover {color:#4b4b4b;}
+a.newsBlue {color:#269ac9;}
+a.newsBlue:hover {color:#297fb8;}
+a.newsBlack {color:#4b4b4b; font-size:13px; font-weight:bold}
+a.menuGrey {color:#808080;}
+a.menuGrey:hover {color:#fe7d68;}
+
+/*个人主页右部分*/
+.homepagePostType {width:180px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-170px; font-size:12px; color:#4b4b4b; line-height:2; z-index:9999; display:none;}
+.homepagePostTypeHomework {width:100px;}
+.homepagePostTypeProject {width:80px;}
+a.homepagePostTypeAssignment {background:url(../images/homepage_icon.png) -93px -318px no-repeat; padding-left:23px;}
+a.homepagePostTypeNotice {background:url(../images/homepage_icon.png) -87px -280px no-repeat; padding-left:23px;}
+a.homepagePostTypeForum {background:url(../images/homepage_icon.png) -10px -310px no-repeat; padding-left:23px;}
+a.homepagePostTypeQuiz {background:url(../images/homepage_icon.png) -90px -124px no-repeat; padding-left:23px;}
+a.homepagePostTypeQuestion {background:url(../images/homepage_icon.png) -10px -273px no-repeat; padding-left:23px;}
+a.homepagePostTypeAll {background:url(../images/homepage_icon.png) -10px -360px no-repeat; padding-left:23px;}
+a.postTypeGrey {color:#888888;}
+a.postTypeGrey:hover {color:#269ac9;}
+.homepagePostBrief {width:720px; margin:20px auto 0px auto; position:relative;}
+.homepagePostPortrait {float:left; width:50px;}
+.homepagePostDes {float:left; width:600px; margin-left:20px;}
+.homepagePostTo {font-size:14px; color:#484848; margin-bottom:8px;}
+.homepagePostTitle {font-size:14px; color:#484848; margin-bottom:10px; font-weight:bold;}
+.homepagePostSubmitContainer {height:25px; margin-top: 8px; margin-bottom: 5px;}
+.homepagePostSubmit {font-size:14px; color:#888888; border:1px solid #dddddd; background-color:#eaeaea; float:left; margin-right:20px; padding:0px 10px;}
+.homepagePostSubmit:hover {background-color:#d8d8d8;}
+.homepagePostIntro {font-size:14px; color:#484848;overflow:hidden;}
+.homepagePostDeadline {font-size:12px; color:#888888; float:left; margin-top: 2px;}
+.homepagePostDate {font-size:12px; color:#888888;margin-bottom: 5px;}
+.homepagePostReplyBanner {width:708px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888;}
+.borderBottomNone {border-bottom:none !important;}
+.topBorder {border-top: 1px solid #e4e4e4;}
+.homepagePostReplyBannerCount{width:255px; display:inline-block; margin-left:15px;}
+.homepagePostReplyBannerTime{width:85px; display:inline-block;}
+.homepagePostReplyBannerMore{width:330px; display:inline-block; text-align:right;}
+.homepagePostReplyInputContainer {width:690px; margin:0px auto;}
+.homepagePostReplyInput {width:680px; height:40px; max-width:680px; max-height:40px; border:1px solid #d9d9d9; outline:none; margin:15px auto 10px auto; padding-left:8px; padding-top:5px;}
+.homepagePostReplyEmotion {background:url(../images/homepage_icon.png) -90px -88px no-repeat; width:50px; height:24px; float:left; padding-left:30px;}
+.homepagePostReplySubmit {float:right; width:45px; height:24px; text-align:center; line-height:24px; vertical-align:middle; font-size:12px; color:#ffffff; background-color:#269ac9;}
+.homepagePostReplySubmit:hover {background-color:#297fb8;}
+a.postReplySubmit {color:#ffffff; display:block;}
+.homepagePostReplyCancel {float:right; width:45px; height:24px; text-align:center; line-height:24px; vertical-align:middle; font-size:12px; color:#888888; background-color:#cecece; margin-left:8px;}
+.homepagePostReplyCancel:hover {background-color:#717171;}
+a.postReplyCancel {color:#888888; display:block;}
+a.postReplyCancel:hover {color:#ffffff;}
+.homepagePostReplyInputContainer2 {width:620px; margin:0px auto;}
+.homepagePostReplyInput2 {width:610px; height:25px; max-width:610px; max-height:25px; border:1px solid #d9d9d9; outline:none; margin:0px auto 10px auto; padding-left:8px; padding-top:5px;}
+.homepagePostReplyContainer {border-bottom:1px solid #e3e3e3; width:690px; margin:0px auto; margin-top:15px; min-height:60px;}
+.homepagePostSetting {position:absolute; width:20px; height:20px; right:0px; top:0px;}
+.homepagePostSettingIcon {background:url(../images/homepage_icon.png) -93px -5px no-repeat; width:20px; height:20px;}
+.homepagePostSettiongText {width:85px; line-height:2; font-size:12px; color:#616060; background-color:#ffffff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-68px; top:20px; padding:5px 0px; display:none;}
+.homepagePostSettingIcon:hover {background:url(../images/homepage_icon.png) -93px -44px no-repeat;}
+/*a.postOptionLink {color:#616060; display:block; width:55px; padding:0px 15px;}*/
+/*a.postOptionLink:hover {color:#ffffff; background-color:#15bccf;}*/
+.homepagePostReplyPortrait {float:left; width:45px;}
+.homepagePostReplyDes {float:left; width:620px; margin-left:15px;}
+.homepagePostReplyPublisher {font-size:12px; color:#484848; margin-bottom:5px;}
+.homepagePostReplyContent {font-size:12px; color:#484848; margin-bottom:12px;}
+.table_maxWidth table {max-width: 642px;}
+.homepagePostProjectState {width:42px; height:20px; line-height:20px; border-radius:1px; background-color:#28be6c; color:#ffffff; text-align:center; vertical-align:middle; font-size:12px; display:inline-block; margin-left:5px;}
+.homepagePostAssignTo {float:left; font-size:14px; color:#15bccf;}
+.homepagePostFileAtt {height:22px; line-height:22px; vertical-align:middle; background:url(../images/homepage_icon.png) -85px -150px no-repeat; padding-left:35px; font-size:14px;}
+.homepagePostImageAtt {height:22px; line-height:22px; vertical-align:middle; background:url(../images/homepage_icon.png) -86px -195px no-repeat; padding-left:35px; font-size:14px; margin-right:25px;}
+.postAttSize {color:#888888; font-size:12px; margin-left: 5px;}
+a.postGrey {color:#484848;}
+a.postGrey:hover {color:#000000;}
+.homepagePostReplyjournal{margin-left: 15px; float: left;}
+
+/*课程主页css*/
+.homepageCoursesType {width:75px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-65px; font-size:12px; color:#4b4b4b; line-height:2; z-index:9999; display:none;}
+
+/*注册登陆页面*/
+#loginInBox {display:block; margin-top:143px;}
+#signUpBox {display:none; margin-top:79px;}
+#loginSignButton {height:54px; padding-left:10px; padding-right:10px; text-align:center; line-height:54px; vertical-align:middle; color:#ffffff; font-size:16px;}
+#loginInButton {height:54px; padding-left:10px; padding-right:10px; text-align:center; line-height:54px; vertical-align:middle; color:#ffffff; font-size:16px;}
+#loginSignButton:hover {background-color:#297fb8;}
+#loginInButton:hover {background-color:#297fb8;}
+.loginContentContainer {width:100%; background-color:#269ac9; margin-top:1px; height:580px;}
+.loginContent {width:1000px; margin:0px auto;}
+.loginLeft {width:595px; float:left;}
+.loginLogo {padding-left:208px; padding-top:155px;}
+.loginInro {width:465px; padding-top:55px; padding-left:50px; font-size:16px; color:#ffffff;}
+.loginRight {width:405px; float:left;}
+.loginChooseBox {width:405px; height:54px; background-color:#ffffff; padding-top:18px;}
+.loginChooseList {width:350px; height:30px; font-size:14px; margin:0px auto;}
+.loginChoose {width:55px; height:30px; border-bottom:1px solid #269ac9; text-align:center; font-weight:bold;}
+a.loginChooseTab {color:#484848; height:30px; display:block;}
+.loginInButton {width:315px; height:40px; background-color:#269ac9; margin-left:46px; font-size:14px; text-align:center; line-height:40px; vertical-align:middle; margin-top:20px;}
+.loginInButton:hover {background-color:#297fb8;}
+.loginUpButton {width:315px; height:40px; background-color:#269ac9; margin-left:46px; font-size:14px; text-align:center; line-height:40px; vertical-align:middle; margin-top:30px;}
+.loginUpButton:hover {background-color:#297fb8;}
+.loginChooseBorder {width:295px; height:30px; border-bottom:1px solid #e3e3e3;}
+.loginSign {width:405px; background-color:#ffffff;}
+.loginSignBox {width:308px; height:38px; margin-left:46px; border:1px solid #98a1a6; outline:none;}
+.loginSignOption {margin-left:46px; margin-top:15px;}
+.loginIn {width:405px; background-color:#ffffff; padding-bottom:30px;}
+.loginSignAlert {font-size:12px; color:#fc0000; margin-left:60px;}
+.loginSignRow {height:60px; min-height:60px;}
+
+/*课程选择弹窗*/
+.coursesChoosePopup {width:530px; height:auto; padding-left:20px; padding-bottom:35px; background-color:#ffffff;}
+.coursesSearchBox {border:1px solid #e6e6e6; width:515px; height:25px; background-color:#ffffff; margin-top:12px; margin-bottom:15px;}
+.searchCoursesPopup {border:none; outline:none; background-color:#ffffff; width:470px; height:25px; padding-left:10px; display:inline-block; float:left;}
+.searchIconPopup{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon.png) -180px -273px no-repeat; display:inline-block; float:left;}
+.searchIconPopup:hover {background:url(../images/homepage_icon.png) -180px -314px no-repeat;}
+
+/*导入作业弹窗*/
+.homeworkPublish {width:500px; height:15px; line-height:15px;}
+.homeworkPublishTime {font-size:12px; color:#b1b1b1; margin-left:22px; margin-bottom:8px;}
+.homeworkListForm{height: 160px;width: 550px;overflow: scroll;overflow-x: hidden;}
+.w450{width: 450px;}
+
+/*引用资源库弹窗*/
+.popbox{position:fixed !important;left:50%;top:50%;margin:-100px 0 0 -150px; -moz-border-radius:5px;}
+.referenceResourcesPopup {width:750px !important; height:500px !important; border:3px solid #269ac9 !important; padding-left:16px !important; padding-right:16px !important; padding-bottom:16px !important; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-375px; z-index:1000;}
+.referenceText {font-size:16px; color:#269ac9; line-height:16px; display:inline-block; font-weight:bold;}
+.referenceSearchBox {border:1px solid #e6e6e6; width:235px; height:32px; background-color:#ffffff; margin-top:12px; margin-bottom:15px;}
+.searchReferencePopup {border:none; outline:none; background-color:#ffffff; width:190px; height:32px; padding-left:10px; display:inline-block; float:left;}
+.referenceSearchIcon{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon2.png) -180px -270px no-repeat; display:inline-block; float:left;}
+.referenceSearchIcon:hover {background:url(../images/homepage_icon2.png) -180px -311px no-repeat;}
+.referenceResourceType {font-size:14px; width:460px; height:34px; line-height:34px; vertical-align:middle; background-color:#f6f6f6; margin-top:15px;}
+.referenceTypeActive {background-color:#269ac9; color:#ffffff !important;}
+a.referenceTypeBlock {color:#888888; display:inline-block; padding:0px 20px;}
+
+/*复制课程弹窗*/
+.copyCoursePopup {width:750px !important; height:auto !important; border:3px solid #269ac9 !important; padding-left:16px !important; padding-right:16px !important; padding-bottom:16px !important; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-375px; z-index:1000;}
+
+/*底部*/
+#Footer{background-color:#ffffff; margin-bottom:10px; padding-bottom:15px; color:#666666;}
+.footerAboutContainer {width:auto; border-bottom:1px solid #efefef;}
+.footerAbout{ width:585px; margin:0 auto;height:35px; line-height:35px; border-bottom:1px solid #efefef; }
+.languageBox {width:55px; height:20px; margin-left:5px; outline:none; color:#666666; border:1px solid #d9d9d9;}
+.departments{ width:890px; margin:5px auto 0 auto;height:30px;line-height:30px;}
+.copyright{ width:375px; margin:0 auto;height:20px;line-height:20px;}
+a.f_grey {color:#666666;}
+a.f_grey:hover {color:#000000;}
+/*意见反馈*/
+html{ overflow-x:hidden;}
+.scrollsidebar{ position: fixed; bottom:1px; right:1px; background:none; }
+.side_content{width:154px; height:auto; overflow:hidden; float:left; }
+.side_content .side_list {width:154px;overflow:hidden;}
+.show_btn{ width:0; height:112px; overflow:hidden; float:left; margin-top:200px; cursor:pointer;}
+.show_btn span { display:none;}
+.close_btn{width:24px;height:24px;cursor:pointer;}
+.side_title,.side_bottom,.close_btn,.show_btn {background:url(../images/sidebar_bg.png) no-repeat; }
+.side_title {height:35px;}
+.side_bottom { height:8px;}
+.side_center {font-family:Verdana, Geneva, sans-serif; padding:0px 12px; font-size:12px;}
+.close_btn { float:right; display:block; width:21px; height:16px; margin:9px 10px 0 0; _margin:16px 5px 0 0;}
+.close_btn span { display:none;}
+.side_center .custom_service p { text-align:center; padding:6px 0; margin:0; vertical-align:middle;}
+.msgserver { margin:10px 0 0px 5px;}
+.msgserver a { background:url(../images/sidebar_bg.png) no-repeat -119px -110px; padding-left:22px; display:block; height:24px; }
+.opnionText{box-shadow:none; width:122px; height:180px; border-color: #DFDFDF; background:#fff; color:#999; padding:3px; font-size:12px;overflow:auto; background-attachment:fixed;border-style:solid;}
+a.opnionButton{ display:block; background:#269ac9; width:130px; height:26px; margin-top:5px; text-align:center; padding-top:0px; color:#fff;}
+a.opnionButton:hover{background: #297fb8; }
+/* blue skin as the default skin */
+.side_title {background-position:-195px 0;}
+.side_center {background:url(../images/blue_line.png) repeat-y center; }
+.side_bottom {background-position:-195px -50px;}
+.close_btn {background-position:-44px 0;}
+.close_btn:hover {background-position:-66px 0;}
+.show_btn {background-position:-119px 0;}
+.msgserver a {color:#269ac9; }
+.msgserver a:hover { text-decoration:underline; }
+.closeSidebar {background:url(../images/sidebar_bg.png) 0px -112px no-repeat; width:28px; height:18px; margin-top:65px; position:absolute;}
+
+
+.hiddent{ overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
+.break_word_firefox{white-space: pre-wrap;word-break: break-all;}
+.font_bold{font-weight: bold;}
+
+
+/***** Ajax indicator ******/
+#ajax-indicator {
+ position: absolute; /* fixed not supported by IE */
+ background-color:#eee;
+ border: 1px solid #bbb;
+ top:35%;
+ left:40%;
+ width:20%;
+ font-weight:bold;
+ text-align:center;
+ padding:0.6em;
+ z-index:100000;
+ opacity: 0.5;
+}
+
+html>body #ajax-indicator { position: fixed; }
+
+#ajax-indicator span {
+ background-position: 0% 40%;
+ background-repeat: no-repeat;
+ background-image: url(../images/loading.gif);
+ padding-left: 26px;
+ vertical-align: bottom;
+}
+
+div.modal {
+ border-radius: 5px;
+ background: #fff;
+ z-index: 50;
+ padding: 4px;
+}
+.ui-widget-content {
+ border: 1px solid #ddd;
+ color: #333;
+}
+.ui-widget {
+ font-family: Verdana, sans-serif;
+ font-size: 1.1em;
+}
+.ui-dialog .ui-dialog-content {
+ position: relative;
+ border: 0;
+ padding: .5em 1em;
+ background: none;
+ overflow: auto;
+ zoom: 1;
+}
+.ui-widget-overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+.ui-widget-overlay {
+ background: #666 url(http://forge.trustie.net/stylesheets/jquery/images/xui-bg_diagonals-thick_20_666666_40x40.png.pagespeed.ic.9mfuw_R0z1.png) 50% 50% repeat;
+ opacity: .5;
+ filter: Alpha(Opacity=50);
+}
+/***** end Ajax indicator ******/
+
+/***** Flash & error messages ****/
+#errorExplanation, div.flash, .nodata, .warning, .conflict {
+ padding: 4px 4px 4px 30px;
+ margin-bottom: 12px;
+ font-size: 1.1em;
+ border: 2px solid;
+}
+
+div.flash {margin-top: 8px;}
+
+div.flash.error, #errorExplanation {
+ background: url(../images/exclamation.png) 8px 50% no-repeat;
+ background-color: #ffe3e3;
+ border-color: #dd0000;
+ color: #880000;
+}
+
+div.flash.notice {
+ background: url(../images/true.png) 8px 5px no-repeat;
+ background-color: #dfffdf;
+ border-color: #9fcf9f;
+ color: #005f00;
+ word-wrap: break-word;
+ word-break: break-all
+}
+
+div.flash.warning, .conflict {
+ background: url(../images/warning.png) 8px 5px no-repeat;
+ background-color: #FFEBC1;
+ border-color: #FDBF3B;
+ color: #A6750C;
+ text-align: left;
+}
+
+.nodata, .warning {
+ text-align: center;
+ background-color: #FFEBC1;
+ border-color: #FDBF3B;
+ color: #A6750C;
+}
+
+#errorExplanation ul { font-size: 0.9em;}
+#errorExplanation h2, #errorExplanation p { display: none; }
+
+.conflict-details {font-size:80%;}
+/***** end Flash & error messages ****/
+
+
+/*弹出框*/
+.black_overlay{display:none;position:fixed;top:0px;left:0px;width:100%;height:100%;background-color:black;z-index:1001;-moz-opacity:0.8;opacity:.80;filter:alpha(opacity=80);}
+.white_content{display:none;position:fixed;top:15%;left:30%;width:420px;height: auto; margin-bottom:20px;padding:16px;border:3px solid #15bccf;background-color:white;z-index:1002;overflow:auto;}
+.white_content02{display:none;position:fixed;top:15%;left:30%;width:450px;height: auto; margin-bottom:20px;padding:10px;border:3px solid #15bccf;background-color:white;z-index:1002;overflow:auto;}
+.floatbox{ width:420px; border:3px solid #15bccf; background:#fff; padding:5px;}
+a.box_close{ display:block; float:right; width:16px; height:16px; background:url(../images/img_floatbox.png) 0 0 no-repeat;}
+a.box_close{background:url(../images/img_floatbox.png) -22px 0 no-repeat;}
+
+/*文本左对齐*/
+.tl{text-align: left;}
+.embed img,embed{max-width: 100%;}
+.attachments {clear: both;}
+.is_public_checkbox{margin-left: 15px;margin-right: 10px;}
+.author_name{color: #3ca5c6 !important;}
+.ke-container-default{max-width: 100%;}
+
+/*底部*/
+/*#Footer{background-color:#ffffff; margin-bottom:10px; padding-bottom:15px; color:#666666;}*/
+/*.footerAboutContainer {width:auto; border-bottom:1px solid #efefef;}*/
+/*.footerAbout{ width:585px; margin:0 auto;height:35px; line-height:35px; border-bottom:1px solid #efefef; }*/
+/*.languageBox {width:55px; height:20px; margin-left:5px; outline:none; color:#666666; border:1px solid #d9d9d9;}*/
+/*.departments{ width:890px; margin:5px auto 0 auto;height:30px;line-height:30px;}*/
+/*.copyright{ width:390px; margin:0 auto;height:20px;line-height:20px;}*/
+/*a.f_grey {color:#666666;}*/
+/*a.f_grey:hover {color:#000000;}*/
+
+/*资源库*/
+.resources {width:718px; background-color:#ffffff; padding:15px; border:1px solid #dddddd;float: right}
+.resourcesBanner {width:730px; height:40px; background-color:#eaeaea; margin-bottom:10px;}
+.bannerName {background:#64bdd9; color:#ffffff; height:40px; line-height:40px; width:90px; text-align:center; font-weight:normal; vertical-align:middle; font-size: 16px; float:left;}
+.resourcesSelect {width:30px; height:24px; float:right; position:relative; margin-top:-6px;}
+.resourcesSelected {width:25px; height:20px; position:relative; background:url(images/resource_icon_list.png) 0px 0px no-repeat;}
+.resourcesSelected:hover { background:url(images/resource_icon_list.png) 0px -25px no-repeat;}
+.resourcesIcon {margin-top:15px; display:block; width:25px; height:20px;}
+a.resourcesGrey {font-size:12px; color:#888888;}
+a.resourcesGrey:hover {font-size:12px; color:#269ac9;}
+.resourcesBanner ul li:hover ul.resourcesType {display:block;}
+.resourcesSelected:hover ul {display:block;}
+.resourcesUploadBox {float:right; width:103px; height:34px; background-color:#269ac9; line-height:34px; vertical-align:middle; text-align:center; margin-left:12px;}
+.resourcesUploadBox:hover {background-color:#297fb8;}
+.uploadIcon {background:url(images/resource_icon_list.png) -35px 10px no-repeat; float:left; display:block; width:30px; height:30px; margin-left:-3px;}
+a.uploadText {color:#ffffff; font-size:14px;}
+.resourcesSearchloadBox {border:1px solid #e6e6e6; width:225px; float:left; background-color:#ffffff;}
+.searchResource {border:none; outline:none; background-color:#ffffff; width:184px; height:32px; padding-left:10px; display:block; float:left;}
+.searchIcon{width:31px; height:32px; background-color:#ffffff; background:url(images/resource_icon_list.png) -40px -15px no-repeat; display:block; float:left;}
+.resourcesSearchBanner {width:710px; height:34px; margin-bottom:10px; margin-top:15px; margin-left:auto; margin-right:auto;}
+.resourcesListTab {width:710px; height:40px; background-color:#f6f6f6; border-bottom:1px solid #eaeaea; font-size:14px; color:#7a7a7a; margin-left:auto; margin-right:auto;}
+.resourcesListName {width:340px; height:40px; line-height:40px; text-align:left;}
+.resourcesListSize {width:85px; height:40px; line-height:40px; text-align:center;}
+.resourcesListType {width:85px; height:40px; line-height:40px; text-align:center;}
+.resourcesListUploader {width:85px; height:40px; line-height:40px; text-align:center;}
+.resourcesListTime {width:95px; height:40px; line-height:40px; text-align:center;}
+a.resourcesBlack {font-size:12px; color:#4c4c4c;white-space: nowrap;text-align: left}
+a.resourcesBlack:hover {font-size:12px; color:#000000;}
+.resourcesListCheckbox {width:20px; height:40px; line-height:40px; text-align:center; vertical-align:middle;}
+.resourcesCheckbox {padding:0px; margin:0px; margin-top:14px; width:12px; height:12px;}
+.resourcesList {width:710px; height:39px; background-color:#ffffff; border-bottom:1px dashed #eaeaea; color:#9a9a9a; font-size:12px; margin-left:auto; margin-right:auto;}
+.resourcesListOption {width:710px; height:40px; line-height:40px; vertical-align:middle; margin-left:auto; margin-right:auto; background-color:#f6f6f6;}
+.resourcesCheckAll {width:20px; height:40px; line-height:40px; text-align:center; vertical-align:middle; float:left;}
+.resourcesSelectSend {float:right;}
+.resourcesSelectSendButton {width:75px; height:28px; background-color:#ffffff; line-height:28px; vertical-align:middle; margin-top:5px; margin-right:10px; margin-left:15px; text-align:center; border:1px solid #269ac9; border-radius:5px; float:right;}
+a.sendButtonBlue {color:#269ac9;}
+a.sendButtonBlue:hover {color:#ffffff;}
+.resourcesSelectSendButton:hover {background-color:#297fb8;}
+.db {display:block !important;}
+
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 80px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ font-size: 12px;
+ text-align: left;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+}
+.dropdown-menu > li > a {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: normal;
+ line-height: 1.5;
+ color:#616060;
+ white-space: nowrap;
+}
+.dropdown-menu > li > a:hover{
+ color: #ffffff;
+ text-decoration: none;
+ background-color: #64bdd9;
+ outline:none;
+}
+a.resourcesTypeAll {background:url(images/homepage_icon.png) -180px -89px no-repeat; padding-left:23px;}
+a.resourcesTypeAtt {background:url(images/homepage_icon.png) -180px -49px no-repeat; padding-left:23px;}
+a.resourcesTypeUser {background:url(images/homepage_icon.png) -178px -453px no-repeat; padding-left:23px;}
+.resourcesType {width:75px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:10px 20px; left:-90px; font-size:12px; color:#888888; display:none; line-height:2;}
+
+.AgreementBox{margin: 20px 0; color: #666666; font-size: 14px; line-height: 1.9;}
+.Agreementh4{ color:#2980b9; font-weight:bold; font-size:14px; margin-top:30px; border: none;}
+.AgreementTxt{text-indent:2em; margin-bottom:15px;}
+.AgreementImg{ margin:0px auto;}
+
+.list_style ol li{list-style-type: decimal;margin-left: 20px;}
+.list_style ul li{list-style-type: disc;margin-left: 20px;}
+
+/* @功能 定义 */
+span.at {color:#269ac9;}
+span.at a{color:#269ac9;text-decoration: none;}
+
+/*20151217资源库Tim*/
+.preview {background:url(../images/hwork_icon.png) -75px -120px no-repeat; width:20px; height:20px; display:inline-block;}
+.mediaIcon {background:url(../images/hwork_icon.png) -5px -160px no-repeat; padding-left:23px;}
+.codeIcon {background:url(../images/hwork_icon.png) -78px -160px no-repeat; padding-left:23px;}
+.othersIcon {background:url(../images/hwork_icon.png) -3px -210px no-repeat; padding-left:23px;}
+.thesisIcon {background:url(../images/hwork_icon.png) -78px -212px no-repeat; padding-left:23px;}
+.softwareIcon {background:url(../images/hwork_icon.png) -5px -254px no-repeat; padding-left:23px;}
+
+.shareDP {width:415px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:relative; z-index:1000;}
+.shareArrow {background:url(../images/arrowList.png) -90px -108px no-repeat; display:inline-block; width:5px; height:10px; margin-right:3px;}
+.sectionWrap {float:left; max-height:150px; margin-bottom:10px; overflow:auto; overflow-x:hidden; width:205px; min-height:150px; padding-top:5px; border:1px solid #dddddd;}
+.columnWrap {float:left; max-height:155px; margin-bottom:10px; overflow:auto; overflow-x:hidden; width:178px; min-height:155px; border:1px solid #dddddd;}
+.columnWrap li {padding-left:10px; color:#585858; line-height:20px;}
+.columnWrap li:hover {background-color:#cccccc;}
+.columnWrap span {width:150px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:inline-block; height:20px; vertical-align:top;}
+.sectionRow:hover {background-color:#cccccc; cursor:pointer;}
+.sectionContent {}
+.sectionContent li {padding-left:10px; line-height:20px;}
+.sectionContent li:hover {background-color:#cccccc;}
+.sectionContent span {width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:inline-block; height:20px; vertical-align:top;}
+.orgDirection {width:392px; background-color:#f1f1f1; height:30px; vertical-align:middle; line-height:30px; color:#585858; padding-left:10px;}
+.orgSendSearch {border:1px solid #dddddd; outline:none; width:262px; height:22px; padding-left:10px; float:left;}
+/*新课程、项目资源库*/
+.reCon{ margin:5px; width:710px;}
+.reTop{width:710px; height:40px; background:#eaeaea; padding:5px;}
+.researchBox { width:240px; height:24px; border:1px solid #dddddd; color:#666666; outline:none;}
+.blueBtn{ width:60px; height:26px; color:#FFF; border:none; background-color:#269ac9; cursor:pointer; padding-left:0px; text-align:center;}
+.blueBtn:hover {background-color:#298fbd;}
+
+/*文本描述展开高度*/
+.maxh360 {max-height: 810px;}
+.lh18 { line-height: 18px;}
+
+/*151228样式更新*/
+.menuSetting {background:url(../images/hwork_icon.png) -5px -132px no-repeat; display:inline-block; width:20px; height:20px;}
+.boxShadow {box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5);}
+a.greyBtn{ display:inline-block; background:#f2f3f3; padding:0px 5px; height:20px; border:1px solid #d3d3d3; color:#888888; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
+a:hover.greyBtn{border:1px solid #888888; }
+a.blueBtn{ display:inline-block; background:#269ac9; padding:0px 5px; height:20px; border:1px solid #269ac9; color:#ffffff; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
+a.blueBtn:hover {background-color:#298fbd;}
+a.cancelBtn{ display:inline-block; background:#c1c1c1; padding:0px 5px; height:20px; border:1px solid #d3d3d3; color:#ffffff; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
+a.cancelBtn:hover {background:#888888;}
+a.userFollow{ display:inline-block; width:55px; height:20px; border:1px solid #d3d3d3; color:#888888; background:#f2f3f3 url(../images/homepage_icon2.png) -9px -6px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
+a:hover.userFollow{border:1px solid #888888; }
+a.userCancel{ display:inline-block; width:55px; height:20px; border:1px solid #d3d3d3; color:#888888; background:#f2f3f3 url(../images/homepage_icon2.png) -177px -6px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
+a:hover.userCancel{border:1px solid #888888; }
+.pAbsolute {position:absolute; z-index:999;}
+.userAvatarWrap {width:50px; height:50px; position:relative; border:1px solid #cbcbcb; padding: 2px;}
+.userAvatarWrap:hover {border:1px solid #269ac9;}
+.mr27 {margin-right:27px;}
+.userCard {width:208px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px; padding:15px; top:-176px; left:-95px; position:absolute; z-index:999; display:none;}
+.userCard font {display:block; border-width:8px; position:absolute; bottom:-16px; left:110px; border-style:solid dashed dashed dashed; border-color:#FFF transparent transparent transparent; font-size:0; line-height:0;}
+.userCard em {display:block; border-width:8px; position:absolute; bottom:-17px; left:110px; border-style:solid dashed dashed dashed; border-color:#eaeaea transparent transparent transparent; font-size:0; line-height:0;}
+.userCardM {width:201px; height:20px; border:1px solid #dddddd; resize:none;}
+.resourceCopy {padding:0px; margin:0px; width:12px; height:12px; display:inline-block;}
diff --git a/public/stylesheets/share.css b/public/stylesheets/share.css
index 8a4b38b65..43e0bc8f6 100644
--- a/public/stylesheets/share.css
+++ b/public/stylesheets/share.css
@@ -1,53 +1,53 @@
-/*151228样式更新*/
-.menuSetting {background:url(../images/hwork_icon.png) -5px -303px no-repeat; display:inline-block; width:20px; height:20px;}
-.boxShadow {box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5);}
-a.greyBtn{ display:inline-block; background:#f2f3f3; padding:0px 5px; height:20px; border:1px solid #d3d3d3; color:#888888; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
-a:hover.greyBtn{border:1px solid #888888; }
-a.blueBtn{ display:inline-block; background:#269ac9; padding:0px 5px; height:20px; border:1px solid #269ac9; color:#ffffff; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
-a.blueBtn:hover {background-color:#298fbd;}
-a.cancelBtn{ display:inline-block; background:#c1c1c1; padding:0px 5px; height:20px; border:1px solid #d3d3d3; color:#ffffff; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
-a.cancelBtn:hover {background:#888888;}
-a.userFollow{ display:inline-block; width:55px; height:20px; border:1px solid #d3d3d3; color:#888888; background:#f2f3f3 url(../images/homepage_icon2.png) -9px -6px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
-a:hover.userFollow{border:1px solid #888888; }
-a.userCancel{ display:inline-block; width:55px; height:20px; border:1px solid #d3d3d3; color:#888888; background:#f2f3f3 url(../images/homepage_icon2.png) -177px -6px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
-a:hover.userCancel{border:1px solid #888888; }
-.pAbsolute {position:absolute; z-index:999;}
-.userAvatarWrap {width:50px; height:50px; position:relative; border:1px solid #cbcbcb; padding: 2px;}
-.userAvatarWrap:hover {border:1px solid #269ac9;}
-.mr27 {margin-right:27px;}
-.userCard {width:208px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px; padding:15px; top:-176px; left:-95px; position:absolute; z-index:999; display:none;}
-.userCard font {display:block; border-width:8px; position:absolute; bottom:-16px; left:110px; border-style:solid dashed dashed dashed; border-color:#FFF transparent transparent transparent; font-size:0; line-height:0;}
-.userCard em {display:block; border-width:8px; position:absolute; bottom:-17px; left:110px; border-style:solid dashed dashed dashed; border-color:#eaeaea transparent transparent transparent; font-size:0; line-height:0;}
-.userCardM {width:201px; height:20px; border:1px solid #dddddd; resize:none;}
-.praviteC {background:url(../images/hwork_icon.png) -79px -255px no-repeat;}
-.praviteCP {display:inline-block; width:20px; height:20px; position:absolute; top:10px; left:25px;}
-.publicC {background:url(../images/hwork_icon.png) -79px -125px no-repeat;}
-.publicCP {display:inline-block; width:20px; height:20px; position:absolute; top:10px; left:25px;}
-.shild {background:url(../images/hwork_icon.png) -6px -354px no-repeat;}
-.shildP {display:inline-block; width:20px; height:20px; position:absolute; top:10px; right:0px;}
-ul.shild:hover li ul {display:block;}
-.subNavArrow {background:url(../images/hwork_icon.png) -82px -399px no-repeat; display:inline-block; width:20px; height:20px; position:absolute; top:10px; right:0px;}
-ul.subNavArrow:hover li ul {display:block;}
-.subNavMenu {line-height:2; font-size:12px; color:#616060; background-color:#ffffff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:20px; top:-10px; padding:5px 0px; display:none; z-index:999;}
-.subNavRow {padding:0px 15px; width:70px;}
-.w48 {width:48px;}
-
-a.mesIcon {background:url(../images/mes_icon.png) -5px -73px no-repeat; padding-left:23px;}
-a.personalIcon {background:url(../images/mes_icon.png) -6px -16px no-repeat; padding-left:23px;}
-.mesType {background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:10px 15px; left:-50px; font-size:12px; color:#888888; display:none; line-height:2; z-index:999; white-space:nowrap;}
-a.greyBtn2 {float:right; text-align:center; font-size:12px; color:#ffffff; background-color:#cecece; padding:3px 10px;}
-.PMTag {padding:0px 5px; background-color:#555555; border-radius:3px; color:#ffffff;}
-.upload_con h2{ display:block; background:#eaeaea; font-size:14px; color:#343333; height:31px; width: auto; margin-top:25px; padding-left:20px; padding-top:5px;}
-.upload_box{ width:430px; margin:15px auto;}
-a.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;}
-a.blue_btn{background:#64bdd9;color:#fff;font-size:14px; font-weight:normal; padding:2px 8px; text-align:center;cursor: pointer;}
-.homepageImageSex {top:116px; left:5px; width:20px; height:20px; background:url(../images/homepage_icon.png) -10px -112px no-repeat; float:left;}
-.homepageImageName {font-size:16px; color:#484848; margin-left:15px; margin-right:8px; height:21px; float:left;}
-
-a.resourcesTypeAll {background:url(images/homepage_icon.png) -180px -89px no-repeat; padding-left:23px;}
-
-.mediaIcon {background:url(../images/hwork_icon.png) -5px -160px no-repeat; padding-left:23px;}
-.codeIcon {background:url(../images/hwork_icon.png) -78px -160px no-repeat; padding-left:23px;}
-.othersIcon {background:url(../images/hwork_icon.png) -3px -210px no-repeat; padding-left:23px;}
-.thesisIcon {background:url(../images/hwork_icon.png) -78px -212px no-repeat; padding-left:23px;}
+/*151228样式更新*/
+.menuSetting {background:url(../images/hwork_icon.png) -5px -303px no-repeat; display:inline-block; width:20px; height:20px;}
+.boxShadow {box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5);}
+a.greyBtn{ display:inline-block; background:#f2f3f3; padding:0px 5px; height:20px; border:1px solid #d3d3d3; color:#888888; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
+a:hover.greyBtn{border:1px solid #888888; }
+a.blueBtn{ display:inline-block; background:#269ac9; padding:0px 5px; height:20px; border:1px solid #269ac9; color:#ffffff; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
+a.blueBtn:hover {background-color:#298fbd;}
+a.cancelBtn{ display:inline-block; background:#c1c1c1; padding:0px 5px; height:20px; border:1px solid #d3d3d3; color:#ffffff; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
+a.cancelBtn:hover {background:#888888;}
+a.userFollow{ display:inline-block; width:55px; height:20px; border:1px solid #d3d3d3; color:#888888; background:#f2f3f3 url(../images/homepage_icon2.png) -9px -6px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
+a:hover.userFollow{border:1px solid #888888; }
+a.userCancel{ display:inline-block; width:55px; height:20px; border:1px solid #d3d3d3; color:#888888; background:#f2f3f3 url(../images/homepage_icon2.png) -177px -6px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
+a:hover.userCancel{border:1px solid #888888; }
+.pAbsolute {position:absolute; z-index:999;}
+.userAvatarWrap {width:50px; height:50px; position:relative; border:1px solid #cbcbcb; padding: 2px;}
+.userAvatarWrap:hover {border:1px solid #269ac9;}
+.mr27 {margin-right:27px;}
+.userCard {width:208px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px; padding:15px; top:-176px; left:-95px; position:absolute; z-index:999; display:none;}
+.userCard font {display:block; border-width:8px; position:absolute; bottom:-16px; left:110px; border-style:solid dashed dashed dashed; border-color:#FFF transparent transparent transparent; font-size:0; line-height:0;}
+.userCard em {display:block; border-width:8px; position:absolute; bottom:-17px; left:110px; border-style:solid dashed dashed dashed; border-color:#eaeaea transparent transparent transparent; font-size:0; line-height:0;}
+.userCardM {width:201px; height:20px; border:1px solid #dddddd; resize:none;}
+.praviteC {background:url(../images/hwork_icon.png) -79px -255px no-repeat;}
+.praviteCP {display:inline-block; width:20px; height:20px; position:absolute; top:10px; left:25px;}
+.publicC {background:url(../images/hwork_icon.png) -79px -125px no-repeat;}
+.publicCP {display:inline-block; width:20px; height:20px; position:absolute; top:10px; left:25px;}
+.shild {background:url(../images/hwork_icon.png) -6px -354px no-repeat;}
+.shildP {display:inline-block; width:20px; height:20px; position:absolute; top:10px; right:0px;}
+ul.shild:hover li ul {display:block;}
+.subNavArrow {background:url(../images/hwork_icon.png) -82px -399px no-repeat; display:inline-block; width:20px; height:20px; position:absolute; top:10px; right:0px;}
+ul.subNavArrow:hover li ul {display:block;}
+.subNavMenu {line-height:2; font-size:12px; color:#616060; background-color:#ffffff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:20px; top:-10px; padding:5px 0px; display:none; z-index:999;}
+.subNavRow {padding:0px 15px; width:70px;}
+.w48 {width:48px;}
+
+a.mesIcon {background:url(../images/mes_icon.png) -5px -73px no-repeat; padding-left:23px;}
+a.personalIcon {background:url(../images/mes_icon.png) -6px -16px no-repeat; padding-left:23px;}
+.mesType {background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:10px 15px; left:-50px; font-size:12px; color:#888888; display:none; line-height:2; z-index:999; white-space:nowrap;}
+a.greyBtn2 {float:right; text-align:center; font-size:12px; color:#ffffff; background-color:#cecece; padding:3px 10px;}
+.PMTag {padding:0px 5px; background-color:#555555; border-radius:3px; color:#ffffff;}
+.upload_con h2{ display:block; background:#eaeaea; font-size:14px; color:#343333; height:31px; width: auto; margin-top:25px; padding-left:20px; padding-top:5px;}
+.upload_box{ width:430px; margin:15px auto;}
+a.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;}
+a.blue_btn{background:#64bdd9;color:#fff;font-size:14px; font-weight:normal; padding:2px 8px; text-align:center;cursor: pointer;}
+.homepageImageSex {top:116px; left:5px; width:20px; height:20px; background:url(../images/homepage_icon.png) -10px -112px no-repeat; float:left;}
+.homepageImageName {font-size:16px; color:#484848; margin-left:15px; margin-right:8px; height:21px; float:left;}
+
+a.resourcesTypeAll {background:url(images/homepage_icon.png) -180px -89px no-repeat; padding-left:23px;}
+
+.mediaIcon {background:url(../images/hwork_icon.png) -5px -160px no-repeat; padding-left:23px;}
+.codeIcon {background:url(../images/hwork_icon.png) -78px -160px no-repeat; padding-left:23px;}
+.othersIcon {background:url(../images/hwork_icon.png) -3px -210px no-repeat; padding-left:23px;}
+.thesisIcon {background:url(../images/hwork_icon.png) -78px -212px no-repeat; padding-left:23px;}
.softwareIcon {background:url(../images/hwork_icon.png) -5px -254px no-repeat; padding-left:23px;}
\ No newline at end of file
diff --git a/spec/controllers/subfield_subdomain_dirs_controller_spec.rb b/spec/controllers/subfield_subdomain_dirs_controller_spec.rb
index 70160c0f0..bd93bf017 100644
--- a/spec/controllers/subfield_subdomain_dirs_controller_spec.rb
+++ b/spec/controllers/subfield_subdomain_dirs_controller_spec.rb
@@ -1,5 +1,5 @@
-require 'rails_helper'
-
-RSpec.describe SubfieldSubdomainDirsController, :type => :controller do
-
-end
+require 'rails_helper'
+
+RSpec.describe SubfieldSubdomainDirsController, :type => :controller do
+
+end
diff --git a/spec/factories/subfield_subdomain_dirs.rb b/spec/factories/subfield_subdomain_dirs.rb
index 3a9878a82..05afeb000 100644
--- a/spec/factories/subfield_subdomain_dirs.rb
+++ b/spec/factories/subfield_subdomain_dirs.rb
@@ -1,6 +1,6 @@
-FactoryGirl.define do
- factory :subfield_subdomain_dir do
-
- end
-
-end
+FactoryGirl.define do
+ factory :subfield_subdomain_dir do
+
+ end
+
+end
diff --git a/spec/models/subfield_subdomain_dir_spec.rb b/spec/models/subfield_subdomain_dir_spec.rb
index 330a35c54..8559c6ed5 100644
--- a/spec/models/subfield_subdomain_dir_spec.rb
+++ b/spec/models/subfield_subdomain_dir_spec.rb
@@ -1,5 +1,5 @@
-require 'rails_helper'
-
-RSpec.describe SubfieldSubdomainDir, :type => :model do
- pending "add some examples to (or delete) #{__FILE__}"
-end
+require 'rails_helper'
+
+RSpec.describe SubfieldSubdomainDir, :type => :model do
+ pending "add some examples to (or delete) #{__FILE__}"
+end