diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index c8168455c..5bff62dcd 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1921,6 +1921,8 @@ module ApplicationHelper forum_link = link_to l(:label_forum_all), {:controller => "forums", :action => "index"} stores_link = link_to l(:label_stores_index), {:controller => 'stores', :action=> 'index'} school_all_school_link = link_to l(:label_school_all), {:controller => 'school', :action => 'index'} + project_new_link = link_to l(:label_project_new), {:controller => 'projects', :action => 'new', :host => Setting.project_domain} + # project_mine_link = link_to l(:label_my_project), {:controller => 'users', :action => 'user_projects', :host => Setting.project_domain} #@nav_dispaly_project_label nav_list = Array.new @@ -1933,6 +1935,8 @@ module ApplicationHelper nav_list.push(main_contest_link) if @nav_dispaly_main_contest_label && @show_contest == 1 nav_list.push(courses_link) if @nav_dispaly_course_label && @show_course == 1 + nav_list.push(project_new_link) if @nav_dispaly_project_label + # nav_list.push(project_mine_link) if @nav_dispaly_main_project_label # nav_list.push(projects_link) if @nav_dispaly_project_label #nav_list.push(users_link) if @nav_dispaly_user_label # nav_list.push(contest_link) if @nav_dispaly_contest_label && @show_contest == 1 diff --git a/app/helpers/attachments_helper.rb b/app/helpers/attachments_helper.rb index 2e07421f8..529a00191 100644 --- a/app/helpers/attachments_helper.rb +++ b/app/helpers/attachments_helper.rb @@ -35,6 +35,16 @@ module AttachmentsHelper end end + def link_to_attachment_project(container, options = {}) + options.assert_valid_keys(:author, :thumbnails) + + if container.attachments.any? + options = {:deletable => container.attachments_deletable?, :author => true}.merge(options) + render :partial => 'attachments/project_file_links', + :locals => {:attachments => container.attachments, :options => options, :thumbnails => (options[:thumbnails] && Setting.thumbnails_enabled?)} + end + end + def link_to_attachments_course(container, options = {}) options.assert_valid_keys(:author, :thumbnails) diff --git a/app/helpers/members_helper.rb b/app/helpers/members_helper.rb index 29ba94924..f36c2a9a7 100644 --- a/app/helpers/members_helper.rb +++ b/app/helpers/members_helper.rb @@ -1,92 +1,92 @@ -# encoding: utf-8 -# -# Redmine - project management software -# Copyright (C) 2006-2013 Jean-Philippe Lang -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -module MembersHelper - def render_principals_for_new_members(project) - scope = Principal.active.sorted.not_member_of(project).like(params[:q]) - principal_count = scope.count - principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page'] #by young - principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all - s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals') - links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options| - link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true - } - s + content_tag('div', content_tag('ul', links), :class => 'pagination_new') - end - - #获取项目可邀请的成员列表 - def render_project_members project - scope = Principal.active.sorted.not_member_of(project).like(params[:q]) - principals = paginateHelper scope,10 - s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :style => "margin-left: -40px;") - links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true){|text, parameters, options| - link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q],:flag => true, :format => 'js')), :remote => true - } - s + content_tag('ul', links,:class => 'wlist') - end - - # add by nwb - # 课程可添加的成员列表 - def render_principals_for_new_course_members(course) - scope = Principal.active.sorted.not_member_of_course(course).like(params[:q]) - principals = paginateHelper scope,10 - s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :id => 'principals') - - links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true) {|text, parameters, options| - link_to text, autocomplete_course_memberships_path(course, parameters.merge(:q => params[:q], :format => 'js')), :remote => true - } - - s + content_tag('ul', links,:class => 'wlist',:id => "course_member_pagination_links") - end - - - # 当前申请加入的成员名单 - def render_principals_for_applied_members(project) - scope = project.applied_projects.map(&:user) - principal_count = scope.count - principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page'] - offset ||= principal_pages.offset - principals = scope[offset, 10] - #principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all - #principals = ApplicationController.new.paginateHelper scope,10 - - s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals') - - links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options| - link_to text, appliedproject_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true - } - - s + content_tag('div', content_tag('ul', links), :class => 'applied_new') - end - - private - def paginateHelper obj, pre_size=20 - @obj_count = obj.count - @obj_pages = Redmine::Pagination::Paginator.new @obj_count, pre_size, params['page'] - if obj.kind_of? ActiveRecord::Base or obj.kind_of? ActiveRecord::Relation - obj.limit(@obj_pages.per_page).offset(@obj_pages.offset) - elsif obj.kind_of? Array - obj[@obj_pages.offset, @obj_pages.per_page] - else - logger.error "[ApplicationController] Error : application_controller#paginateHelper ===> unknow category: #{obj.class}" - raise RuntimeError, 'unknow type, Please input you type into this helper.' - end - end - -end +# encoding: utf-8 +# +# Redmine - project management software +# Copyright (C) 2006-2013 Jean-Philippe Lang +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +module MembersHelper + def render_principals_for_new_members(project) + scope = Principal.active.sorted.not_member_of(project).like(params[:q]) + principal_count = scope.count + principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page'] #by young + principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all + s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals') + links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options| + link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true + } + s + content_tag('div', content_tag('ul', links), :class => 'pagination_new') + end + + #获取项目可邀请的成员列表 + def render_project_members project + scope = Principal.active.sorted.not_member_of(project).like(params[:q]) + principals = paginateHelper scope,10 + s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :style => "margin-left: -40px;") + links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true){|text, parameters, options| + link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q],:flag => true, :format => 'js')), :remote => true + } + s + content_tag('ul', links,:class => 'wlist') + end + + # add by nwb + # 课程可添加的成员列表 + def render_principals_for_new_course_members(course) + scope = Principal.active.sorted.not_member_of_course(course).like(params[:q]) + principals = paginateHelper scope,10 + s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :id => 'principals') + + links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true) {|text, parameters, options| + link_to text, autocomplete_course_memberships_path(course, parameters.merge(:q => params[:q], :format => 'js')), :remote => true + } + + s + content_tag('ul', links,:class => 'wlist',:id => "course_member_pagination_links") + end + + + # 当前申请加入的成员名单 + def render_principals_for_applied_members(project) + scope = project.applied_projects.map(&:user) + principal_count = scope.count + principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page'] + offset ||= principal_pages.offset + principals = scope[offset, 10] + #principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all + #principals = ApplicationController.new.paginateHelper scope,10 + + s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals') + + links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options| + link_to text, appliedproject_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true + } + + s + content_tag('div', content_tag('ul', links), :class => 'applied_new') + end + + private + def paginateHelper obj, pre_size=20 + @obj_count = obj.count + @obj_pages = Redmine::Pagination::Paginator.new @obj_count, pre_size, params['page'] + if obj.kind_of? ActiveRecord::Base or obj.kind_of? ActiveRecord::Relation + obj.limit(@obj_pages.per_page).offset(@obj_pages.offset) + elsif obj.kind_of? Array + obj[@obj_pages.offset, @obj_pages.per_page] + else + logger.error "[ApplicationController] Error : application_controller#paginateHelper ===> unknow category: #{obj.class}" + raise RuntimeError, 'unknow type, Please input you type into this helper.' + end + end + +end diff --git a/app/helpers/watchers_helper.rb b/app/helpers/watchers_helper.rb index 7995d7e68..38e42553b 100644 --- a/app/helpers/watchers_helper.rb +++ b/app/helpers/watchers_helper.rb @@ -304,7 +304,7 @@ module WatchersHelper def exit_project_link(project) link_to(l(:label_exit_project),exit_cur_project_path(project.id), :remote => true, :confirm => l(:lable_sure_exit_project), - :style => "color: #fff; display:block;font-size:12px; padding: 0px 5px; margin-right: 10px; height: 20px; line-height: 22px; background: none repeat scroll 0% 0% #64BDD9; TES;padding-top:1px;" ) + :class => "pr_join_a" ) end #项目关注、取消关注 @@ -321,7 +321,7 @@ module WatchersHelper :object_id => (objects.size == 1 ? objects.first.id : objects.map(&:id).sort)) method = watched ? 'delete' : 'post' link_to text, url, :remote => true, :method => method, - :class => "project_watch_new" ,:id=>id + :class => "pr_join_a" ,:id=>id end #申请加入项目 @@ -339,7 +339,7 @@ module WatchersHelper :user_id => user.id, :project_id => project.id) method = applied ? 'delete' : 'post' - link_to text, url, :remote => true, :method => method , :class => "project_watch_new",:id => id + link_to text, url, :remote => true, :method => method , :class => "pr_join_a",:id => id end end diff --git a/app/views/attachments/_form_project.html.erb b/app/views/attachments/_form_project.html.erb new file mode 100644 index 000000000..da074f4d5 --- /dev/null +++ b/app/views/attachments/_form_project.html.erb @@ -0,0 +1,67 @@ + +<% if defined?(container) && container && container.saved_attachments %> + <% if isReply %> + <% container.saved_attachments.each_with_index do |attachment, i| %> + + <%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%> + <%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") + + link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %> + <%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %> + <%= l(:field_is_public)%>: + <%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public')%> + <%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %> + + <% end %> + <% else %> + <% container.attachments.each_with_index do |attachment, i| %> + + <%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%> + <%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") + + link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %> + <%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %> + <%= l(:field_is_public)%>: + <%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public')%> + <%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %> + + <% end %> + <% end %> +<% end %> +
+ + +<%#= button_tag "浏览", :type=>"button", :onclick=>"CompatibleSend();" %> + + <%= button_tag "浏览", :type=>"button", :onclick=>"_file.click()",:class =>"sub_btn",:style => ie8? ? 'display:none' : '' %> + <%= file_field_tag 'attachments[dummy][file]', + :id => '_file', + :class => 'file_selector', + :multiple => true, + :onchange => 'addInputFiles(this);', + :style => 'display:none', + :data => { + :max_file_size => Setting.attachment_max_size.to_i.kilobytes, + :max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)), + :max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i, + :upload_path => uploads_path(:format => 'js'), + :description_placeholder => l(:label_optional_description), + :field_is_public => l(:field_is_public), + :are_you_sure => l(:text_are_you_sure), + :file_count => l(:label_file_count), + :delete_all_files => l(:text_are_you_sure_all) + } %> + <%= l(:label_no_file_uploaded)%> +(<%= l(:label_max_size) %>: <%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>) + + +<% content_for :header_tags do %> + <%= javascript_include_tag 'attachments' %> +<% end %> + + diff --git a/app/views/attachments/_project_file_links.html.erb b/app/views/attachments/_project_file_links.html.erb new file mode 100644 index 000000000..d32025787 --- /dev/null +++ b/app/views/attachments/_project_file_links.html.erb @@ -0,0 +1,72 @@ +
+ <% is_float ||= false %> + <% for attachment in attachments %> +

+ <%if is_float%> +

+ <% end%> + + <% if options[:length] %> + <%= link_to_short_attachment attachment, :class => ' link_file_board', :download => true,:length => options[:length] -%> + <% else %> + <%= link_to_short_attachment attachment, :class => ' link_file_board', :download => true -%> + <% end %> + + <%if is_float%> +
+ <% end%> + + <% if attachment.is_text? %> + <%= link_to image_tag('magnifier.png'), + :controller => 'attachments', + :action => 'show', + :id => attachment, + :filename => attachment.filename%> + <% end %> + + <%= h(truncate(" - #{attachment.description}", length: options[:length] ? options[:length]:15, omission: '...')) unless attachment.description.blank? %> + + ( + <%= number_to_human_size attachment.filesize %>) + + <% if options[:deletable] %> + <% if attachment.container_type == 'HomeworkAttach' %> + <%= link_to image_tag('delete.png'), {:controller => 'attachments', :action => 'delete_homework', :id => attachment.id}, + :data => {:confirm => l(:text_are_you_sure)}, + :method => :delete, + :class => 'delete delete-homework-icon', + :remote => true, + :title => l(:button_delete) %> + <% else %> + <%= link_to image_tag('delete.png'), attachment_path(attachment), + :data => {:confirm => l(:text_are_you_sure)}, + :method => :delete, + :class => 'delete', + #:remote => true, + #:id => "attachments_" + attachment.id.to_s, + :title => l(:button_delete) %> + <% end %> + <% end %> + <% if options[:wrap] %> +
+   + <% end %> + <% if options[:author] %> + + <%= link_to h(truncate(attachment.author.name, length: 10, omission: '...')),user_path(attachment.author) %>, + <%= format_time(attachment.created_on) %> + + <% end %> +

+ <% end %> + <% if defined?(thumbnails) && thumbnails %> + <% images = attachments.select(&:thumbnailable?) %> + <% if images.any? %> +
+ <% images.each do |attachment| %> +
<%= thumbnail_tag(attachment) %>
+ <% end %> +
+ <% end %> + <% end %> +
diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb index 7ddd37ad6..92cae0074 100644 --- a/app/views/boards/_project_show.html.erb +++ b/app/views/boards/_project_show.html.erb @@ -1,4 +1,4 @@ - - - <%= form_tag(projects_search_path, :method => :get, :id => "project_search_form") do %> - <%= text_field_tag 'name', params[:name], :size => 20, :onkeyup => "regexName();", :style => "float:left" %> - <%= hidden_field_tag 'project_type', params[:project_type] %> - <%#= submit_tag l(:label_search), :class => "enterprise", :name => nil %> - <%= l(:label_search)%> -
- - <% end %> - - - - -

- <%= link_to l(:label_home),home_path %> > - <%= link_to @project, project_path(@project) %> -

- - - - - + +
+
+
+ +
+ <%= l(:label_project_id)%><%= @project.id %> +
+ +
+ <%= render 'layouts/join_exit_project' %> +
+ +
+
+ + <%= l(:label_project_name) %><%= @project.name %> + <% if @project.is_public? %> + <%= l(:label_public)%> + <% else %> + <%= l(:label_private)%> + <% end %> +
+
+
+ <% if @project.project_type == 0 %> + <%= l(:label_project_score)%> : + <%= link_to(format("%.2f" ,project_scores(@project) ).to_i, {:controller => 'projects', + :action => 'show_projects_score', + :remote => true, + :id => @project.id + }, :class => "c_orange f14" ) %> + <% end %> +
+ +
+ <%= l(:label_member) %>(<%= link_to "#{@project.members.count}", project_member_path(@project), :class => 'info_foot_num c_blue' %>) + + <%= l(:label_user_watcher) %>(<%= link_to "#{@project.watcher_users.count}", {:controller=>"projects", :action=>"watcherlist", :id => @project.id}, :class => 'info_foot_num c_blue' %>) + + <%= l(:project_module_attachments) %>( + <% attaments_num = @project.attachments.count+Attachment.where(["`container_type` = 'Version' and `container_id` in (?)",@project.versions.map{ |v| v.id}]).all.count %> + <%= link_to "#{attaments_num}", project_files_path(@project), :class => 'info_foot_num c_blue' %>) +
+
+
+ + +
+ +
+
+

<%= l(:label_project_overview) %>

<%= @project.description %> +
+
<%= l(:label_expend_information) %>
+
+ +
+

<%= l(:label_tag)%>:

+
+
+ <%= render :partial => 'tags/project_tag', :locals => {:obj => @project,:object_flag => "2"}%> +
+
+
+
+
+
- - - - - <%= call_hook :view_layouts_base_body_bottom %> - +
+ <%= render_flash_messages %> + <%= yield %> + <%= call_hook :view_layouts_base_content %> +
+
+
+
+ <%= render :partial => 'layouts/new_footer'%> +
+ + + + <%= call_hook :view_layouts_base_body_bottom %> diff --git a/app/views/messages/_form_project.html.erb b/app/views/messages/_form_project.html.erb new file mode 100644 index 000000000..92eddaab7 --- /dev/null +++ b/app/views/messages/_form_project.html.erb @@ -0,0 +1,44 @@ +<%= error_messages_for 'message' %> +<% replying ||= false %> +<% extra_option = replying ? { readonly: true} : { maxlength: 200 } %> + +
  • + + <% if replying %> + <%= f.text_field :subject, { size: 60, id: "message_subject",:class=>"talk_input w585" }.merge(extra_option) %> + <% else %> + <%= f.text_field :subject, { size: 60, id: "message_subject", onkeyup: "regexSubject();",:class=>"talk_input w585" }.merge(extra_option) %> + <% end %> +

    +
  • +
  • + <% unless replying %> + <% if @message.safe_attribute? 'sticky' %> + <%= f.check_box :sticky %> + <%= label_tag 'message_sticky', l(:label_board_sticky) %> + <% end %> + <% if @message.safe_attribute? 'locked' %> + <%= f.check_box :locked %> + <%= label_tag 'message_locked', l(:label_board_locked) %> + <% end %> + <% end %> +
    +
  • +
  • +
    + + <%= text_area :quote,:quote,:style => 'display:none' %> + <%= f.text_area :content, :class => 'talk_text fl', :id => 'message_content', :onkeyup => "regexContent();", :maxlength => 5000,:placeholder => "最多3000个汉字(或6000个英文字符)" %> +
    +

    +
  • +
    +
  • + +
    + <%= render :partial => 'attachments/form_project', :locals => {:container => @message,:isReply => @isReply} %> +
    +
  • +
  • +
    +
  • diff --git a/app/views/messages/_project_show.html.erb b/app/views/messages/_project_show.html.erb index 01465188c..a157bb860 100644 --- a/app/views/messages/_project_show.html.erb +++ b/app/views/messages/_project_show.html.erb @@ -1,209 +1,114 @@ - - -
    -
    -

    <%= h @board.name %>

    -
    - - - <%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @topic,:show_flag => true,:user_id =>User.current.id,:horizontal => true}%> - -
    - <%= watcher_link(@topic, User.current) %> - <%= link_to( - l(:button_quote), - {:action => 'quote', :id => @topic}, - :remote => true, - :method => 'get', - :class => 'icon icon-comment', - :remote => true) if !@topic.locked? && authorize_for('messages', 'reply') %> - <%= link_to( - l(:button_edit), - {:action => 'edit', :id => @topic}, - :class => 'icon icon-edit' - ) if @message.editable_by?(User.current) %> - <%= link_to( - l(:button_delete), - {:action => 'destroy', :id => @topic}, - :method => :post, - :data => {:confirm => l(:text_are_you_sure)}, - :class => 'icon icon-del' - ) if @message.destroyable_by?(User.current) %> -
    - -
    -
    - <%= link_to image_tag(url_to_avatar(@topic.author), :class => "avatar"), user_path(@topic.author) %> -
    -

    - <%= link_to @topic.author, user_path(@topic.author) %> -

    +
    +

    <%= h @board.name %>

    +
    +
    +
    + <%=link_to image_tag(url_to_avatar(@topic.author), :width => "46", :height => "46"), user_path(@topic.author) %>
    -
    -
    - <% if @project %> - <%= label_tag l(:field_subject) %>: - <%= link_to @topic.subject, project_boards_path(@topic.project),title: @topic.subject.to_s %> - <% elsif @course %> - <%= label_tag l(:field_subject) %>: - <%= link_to @topic.subject, course_boards_path(@topic.course),title: @topic.subject.to_s %> - <% end %> -
    -
    - <%= textilizable(@topic, :content) %> - <%= link_to_attachments @topic, :author => false %> -
    -
    -
    - <%= authoring @topic.created_on, @topic.author %> -
    -
    - <% if User.current.logged? %> - <%= toggle_link l(:button_reply), "reply", :focus => 'message_content' %> - <% else %> - <%= link_to l(:button_reply), signin_path %> - <% end %> -
    -
    +
    +

    + <%= link_to @topic.subject, project_boards_path(@topic.project),title: @topic.subject.to_s %>

    +
    +

    由<%= link_to_user_header @topic.author,false,:class=> 'problem_name c_orange' %> 添加于<%= format_time(@topic.created_on) %>

    -
    -
    - + + <%#= watcher_link(@topic, User.current) %> + <%= link_to( + l(:button_edit), + {:action => 'edit', :id => @topic}, + :class => 'talk_edit fr' + ) if @message.editable_by?(User.current) %> + <%= link_to( + l(:button_delete), + {:action => 'destroy', :id => @topic}, + :method => :post, + :data => {:confirm => l(:text_are_you_sure)}, + :class => 'talk_edit fr' + ) if @message.destroyable_by?(User.current) %> +
    +
    <%= textilizable(@topic, :content) %>
    +
    <%= link_to_attachment_project @topic, :author => false %>
    + +
    + <% if User.current.logged? %> + <%= toggle_link l(:button_reply), "reply", :focus => 'message_content',:class => 'talk_edit fr' %> + <% else %> + <%= link_to l(:button_reply), signin_path,:class => 'talk_edit fr' %> + <% end %> + <%= link_to( + l(:button_quote), + {:action => 'quote', :id => @topic}, + :remote => true, + :method => 'get', + :class => 'talk_edit fr', + :remote => true) if !@topic.locked? && authorize_for('messages', 'reply') %> +
    +
    <% unless @replies.empty? %> -
    -
    -
    -
    -

    <%= l(:label_reply_plural) %> (<%= @reply_count %>)

    <% reply_count = 0 %> <% @replies.each do |message| %> -
    "> - - - - - - - - - - - -
    - <%= link_to image_tag(url_to_avatar(message.author), :class => "avatar"), user_path(message.author) %> - -
    - <%= link_to( - "引用", - {:action => 'quote', :id => message}, - :remote => true, - :method => 'get', - :title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %> - <%= link_to( - #image_tag('edit.png'), - "编辑", - {:action => 'edit', :id => message}, - :title => l(:button_edit) - ) if message.editable_by?(User.current) %> - <%= link_to( - #image_tag('delete.png'), - "删除", - {:action => 'destroy', :id => message}, - :method => :post, - :data => {:confirm => l(:text_are_you_sure)}, - :title => l(:button_delete) - ) if message.destroyable_by?(User.current) %> -
    -
    -
    - <%= textilizable message,:content,:attachments => message.attachments %> -
    - <%= link_to_attachments message, :author => false %> -
    - <%= authoring message.created_on, message.author %> -
    -
    +
    "> +
    <%= link_to image_tag(url_to_avatar(message.author), :width => '46',:height => '46'), user_path(message.author) %>
    +
    +
    + <%= link_to_user_header message.author,false,:class => 'c_blue fb fl mb10 ' %> + <%= format_time(message.created_on) %> +
    +

    <%= textilizable message,:content,:attachments => message.attachments %>

    + <%= link_to_attachments message, :author => false %> +
    +
    + <%= link_to( + l(:button_quote), + {:action => 'quote', :id => message}, + :remote => true, + :method => 'get', + :title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %> + <%= link_to( + #image_tag('edit.png'), + l(:button_edit), + {:action => 'edit', :id => message}, + :title => l(:button_edit) + ) if message.course_editable_by?(User.current) %> + <%= link_to( + #image_tag('delete.png'), + l(:button_delete), + {:action => 'destroy', :id => message}, + :method => :post, + :data => {:confirm => l(:text_are_you_sure)}, + :title => l(:button_delete) + ) if message.course_destroyable_by?(User.current) %> +
    +
    +
    +
    +
    <% end %> - <% end %> <% if !@topic.locked? && authorize_for('messages', 'reply') %> <% end %> + <% html_title @topic.subject %> + - <% - if @project.project_type == Project::ProjectType_course - btn_tips = l(:label_news_notice) - label_tips = l(:label_course_news) - else - btn_tips = l(:label_news_new) - label_tips = l(:label_news) - end + btn_tips = l(:label_news_new) + label_tips = l(:label_news) %> -<% if @project.enabled_modules.where("name = 'news'").count > 0 && User.current.member_of?(@project) %> - <%= link_to(btn_tips, - new_project_news_path(@project), - :class => 'icon icon-add', - :onclick => 'showAndScrollTo("add-news", "news_title"); return false;') %> -<% end %> -<% if @project && User.current.allowed_to?(:manage_news, @project) %> - -<% end %>
    <% if @newss.empty? %>

    @@ -97,58 +23,25 @@

    <% else %> <% @newss.each do |news| %> +
    + <%= link_to image_tag(url_to_avatar(news.author),:width => 42,:height => 42), user_path(news.author), :class => "problem_pic fl" %> +
    + <%= link_to_user_header(news.author,false,{:class=> 'problem_name c_orange fl'}) if news.respond_to?(:author) %> + <%= l(:label_release_news) %>:<%= link_to h(news.title), news_path(news),:class => 'problem_tit fl fb c_dblue' %>
    +
    +

    <%= news.description %>
    <%= l(:label_create_time) %> :<%= format_time(news.created_on) %>

    + +
    +
    +
    - - - - - -
    - <%= link_to image_tag(url_to_avatar(news.author), :class => "avatar"), user_path(news.author) %> - - - <% if @project.project_type == 1 %> - - - - <% else %> - - - - <% end %> - - - - - - - -
    - <%= link_to_user(news.author) if news.respond_to?(:author) %> - <%= l(:label_project_notice) %> - <%= link_to h(news.title), news_path(news) %> - <%= delete_link news_path(news) if User.current.allowed_to?(:manage_news, @project) %> -
    - <%= link_to_user(news.author) if news.respond_to?(:author) %> - <%= l(:label_project_newshare) %> - <%= link_to h(news.title), news_path(news) %> - - <%= delete_link news_path(news) if User.current.allowed_to?(:manage_news, @project) %> - -
    - <%= textilizable(news, :description) %>
    <%= l :label_update_time %> - : <%= format_time(news.created_on) %><%= link_to l(:label_project_newother), news_path(news) %><%= "(#{l(:label_x_comments, :count => news.comments_count)})" if news.comments_count >= 0 %>
    -
    <% end %> <% end %>
    -
    - +
      + <%= pagination_links_full @news_pages, @news_count, :per_page_links => false, :remote => false, :flag => true%> +
    <% other_formats_links do |f| %> <%= f.link_to 'Atom', :url => {:project_id => @project, :key => User.current.rss_key} %> @@ -160,7 +53,6 @@ <% end %> <% html_title(l(:label_news_plural)) -%> -
    -
    -
    - <% unless @events_pages.empty? %> + +<% unless @events_pages.empty? %> <% @events_pages.each do |e| -%> - <% if e.forge_act_type == "ProjectCreateInfo"%> -
    - - - - - -
    - <%= image_tag(url_to_avatar(e.user), :class => "avatar") %> - - - - - - -
    - - <%= link_to_user(e.user)%> - - <%= l(:label_project_new) %> - <%= link_to e.project.name %> - ! -
    - <%= l :label_create_time %>: - <%= format_time(e.project.created_on) %> -
    -
    -
    - <% end %> - <% next if e.forge_act_type.safe_constantize.nil? - act = e.forge_act; - next if act.nil? %> - <% if e.forge_act_type == "Issue" %> -
    -
    - <%= image_tag(url_to_avatar(act.author), :class => "avatar") %> -
    - -
    - <%= h(e.project) if @project.nil? || @project.id != e.project_id %> - - <%= link_to_user(act.author) %> - <%= l(:label_new_activity) %> - - <%= link_to format_activity_title("#{act.source_from}##{act.project_issues_index} (#{act.status}): #{act.tracker.name} #{act.subject}"), - {:controller => 'issues', - :action => 'show', - :id => act.id} %> -
    - <%= textAreailizable act,:description %> -
    -
    - <%= l :label_activity_time %> - :  <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %> -
    - <%= link_to l(:label_find_all_comments), issue_path(act.id) %> <%= l(:label_comments_count, :count => act.journals.count) %> + + <% if e.forge_act_type == "ProjectCreateInfo"%> +
    + <%= image_tag(url_to_avatar(e.user), :width => "42", :height => "42") %> +
    + <%= link_to e.user, user_path(e.user), :class => "problem_name c_orange fl" %> <%= l(:label_project_new) %> : + <%= link_to e.project.name, :class => "problem_tit fl fb" %>
    +


    <%= l :label_create_time %> :<%= format_time(e.project.created_on) %>

    -
    -
    -
    - <% elsif e.forge_act_type == "Journal" %> -
    -
    - <%= image_tag(url_to_avatar(e.user), :class => "avatar") %> -
    +
    +
    + <% end %> + <% next if e.forge_act_type.safe_constantize.nil? + act = e.forge_act; + next if act.nil? %> + + <% if e.forge_act_type == "Issue" %> +
    + <%= image_tag(url_to_avatar(act.author), :width => "42", :height => "42") %> +
    + + <%= h(e.project) if @project.nil? || @project.id != e.project_id %> + <%= link_to act.author, user_path(act.author), :class => "problem_name c_orange fl" %> <%= l(:label_new_activity) %> : + <%= link_to format_activity_title("#{act.source_from}##{act.project_issues_index} (#{act.status}): #{act.tracker.name} #{act.subject}"), + {:controller => 'issues', + :action => 'show', + :id => act.id}, + :class => "problem_tit fl fb " %> - - -
    - <% elsif e.forge_act_type == "Message" %> -
    -
    - <%= image_tag(url_to_avatar(e.user), :class => "avatar") %> + + <% elsif e.forge_act_type == "Message" %> +
    + <%= image_tag(url_to_avatar(e.user), :width => "42", :height => "42") %> +
    + + <%= h(e.project) if @project.nil? || @project.id != e.project_id %> + <%= link_to h(e.user), user_path(e.user_id), :class => "problem_name c_orange fl" %> <%= l(:label_new_activity) %> : + + <%= link_to format_activity_title("#{act.board.name}: #{act.subject}"), + {:controller => 'messages', + :action => 'show', + :board_id => act.board_id}.merge(act.parent_id.nil? ? {:id => act.id} : {:id => act.parent_id, :r => act.id, :anchor => "message-#{act.id}"}), + :class => "problem_tit fl fb " %> +
    +

    <%= textAreailizable act,:content %>
    + <%= l :label_create_time %> :<%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %>

    -
    - <%= h(e.project) if @project.nil? || @project.id != e.project_id %> - - <%= link_to(h(e.user), user_path(e.user_id)) %> - <%= l(:label_new_activity) %> - - <%= link_to format_activity_title("#{act.board.name}: #{act.subject}"), - {:controller => 'messages', - :action => 'show', - :board_id => act.board_id}.merge(act.parent_id.nil? ? {:id => act.id} : {:id => act.parent_id, :r => act.id, :anchor => "message-#{act.id}"}) %> -
    - <%= textAreailizable act,:content %> +
    -
    - <%= l :label_activity_time %> - :  <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %> + + <% elsif e.forge_act_type == "News" %> + -
    -
    - <% elsif e.forge_act_type == "News" %> -
    -
    - <%= image_tag(url_to_avatar(e.user), :class => "avatar") %> -
    -
    - <%= h(e.project) if @project.nil? || @project.id != e.project_id %> - - <%= link_to(h(e.user), user_path(e.user_id)) %> - <%= l(:label_new_activity) %> - - <% unless act.nil? %> - <%= link_to format_activity_title("#{l(:label_news)}: #{act.title}"), {:controller => 'news', :action => 'show', :id => act.id} %> - <% end %> -
    - <%= textAreailizable act,:description %> -
    -
    - <%= l :label_activity_time %> - :  <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %> -
    - - <%= link_to l(:label_find_all_comments), {:controller => 'news', :action => 'show', :id => act.id} %> - - - <%= l(:label_comments_count, :count => act.comments_count) %> - -
    -
    -
    -
    - <% elsif e.forge_act_type == "Document" %> -
    -
    - <%= image_tag(url_to_avatar(e.user), :class => "avatar") %> -
    -
    - <%= h(e.project) if @project.nil? || @project.id != e.project_id %> - - <%= link_to(h(e.user), user_path(e.user_id)) %> - <%= l(:label_new_activity) %> - - <%= link_to format_activity_title("#{l(:label_document)}: #{act.title}"), {:controller => 'documents', :action => 'show', :id => act.id} %> -
    - <%= textAreailizable act,:description %> -
    -
    - <%= l :label_activity_time %> - :  <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %> - -
    -
    -
    - <% elsif e.forge_act_type == "Attachment" %> -
    -
    - <%= image_tag(url_to_avatar(e.user), :class => "avatar") %> -
    -
    - <%= h(e.project) if @project.nil? || @project.id != e.project_id %> - - <%= link_to(h(e.user), user_path(e.user_id)) %> - <%= l(:label_new_activity) %> - - <%= link_to format_activity_title("#{l(:label_attachment)}: #{act.filename}"), {:controller => 'attachments', :action => 'show', :id => act.id} %> -
    - <%= textAreailizable act,:description %> -
    -
    - <%= l :label_activity_time %> - :  <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %> + + <% elsif e.forge_act_type == "Document" %> + -
    - <% end %> - <% end %> + <%= link_to format_activity_title("#{l(:label_document)}: #{act.title}"), {:controller => 'documents', :action => 'show', :id => act.id}, :class => "problem_tit fl fb" %>
    +

    <%= textAreailizable act,:description %>
    + <%= l :label_create_time %> :<%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %>

    +
    +
    +
    + + <% elsif e.forge_act_type == "Attachment" %> +
    + <%= image_tag(url_to_avatar(e.user), :width => "42", :height => "42") %> +
    + + <%= h(e.project) if @project.nil? || @project.id != e.project_id %> + <%= link_to h(e.user), user_path(e.user_id), :class => "problem_name c_orange fl" %> <%= l(:label_new_activity) %> : + <%= link_to format_activity_title("#{l(:label_attachment)}: #{act.filename}"), {:controller => 'attachments', :action => 'show', :id => act.id}, :class => "problem_tit fl fb" %>
    +

    <%= textAreailizable act,:description %>
    + <%= l :label_create_time %> :<%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %>

    +
    +
    +
    + <% end %> <% end %> -
    -
    - +<% end %> <%= paginate @events_pages, :left => 3, :right => 3%> \ No newline at end of file diff --git a/app/views/tags/_project_tag.html.erb b/app/views/tags/_project_tag.html.erb index d10506d0d..ce80e36ab 100644 --- a/app/views/tags/_project_tag.html.erb +++ b/app/views/tags/_project_tag.html.erb @@ -1,30 +1,15 @@ -
    +
    <%= render :partial => "tags/tag_name",:locals => {:obj => obj,:non_list_all => false ,:object_flag => object_flag} %>
    -
    -<% if User.current.logged? %> - <%= toggle_link (l(:label_add_tag)), 'put-tag-form', {:focus => 'tags_name'} %> -<% end %> +<% if User.current.logged?%> + <%= l(:label_add_tag)%> + +<% end%> - -
    diff --git a/app/views/tags/_tag_name.html.erb b/app/views/tags/_tag_name.html.erb index 2ee4d3f20..df4260a4d 100644 --- a/app/views/tags/_tag_name.html.erb +++ b/app/views/tags/_tag_name.html.erb @@ -31,13 +31,13 @@ <% if @tags.size > 0 %> <% @tags.each do |tag| %> - + <% if object_flag == '2' %> - <%= link_to tag, :controller => "tags", :action => "index", :q => tag, :object_flag => object_flag, :obj_id => obj.id %> - <% if (ProjectInfo.find_by_project_id(obj.id)).try(:user_id) == User.current.id %> + <%= link_to tag, :controller => "tags", :action => "index", :q => tag, :object_flag => object_flag, :obj_id => obj.id, :class => 'pt5' %> + <% if (ProjectInfo.find_by_project_id(obj.id)).try(:user_id) == User.current.id %> <%= link_to 'x', :controller => "tags", :action => "remove_tag", :remote => true, :tag_name => tag, - :taggable_id => obj.id, :taggable_type => object_flag %> + :taggable_id => obj.id, :taggable_type => object_flag %> <% end %> <% else %> diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml index 9f1a95201..9e41e4de5 100644 --- a/config/locales/projects/zh.yml +++ b/config/locales/projects/zh.yml @@ -12,6 +12,9 @@ zh: # label_project_new: "新建项目" label_join_project: "加入项目" + label_my_project: "我的项目" + + # @@ -20,13 +23,23 @@ zh: # 热门项目栏 # lable_hot_projects: 热门项目 + label_project_name: 项目名称: label_private: 私有 + label_public: 公开 label_project_member_amount: one: "%{count}人" other: "%{count}人" label_project_score_tips: 项目得分,综合考虑了项目的各项活动,反映了该项目的活跃程度 label_project_score: 项目评分 + # + # 项目托管平台主页 + # + # TopBar + # + label_project_hosting_platform: 项目托管平台 + + # # 项目托管平台主页 @@ -36,7 +49,7 @@ zh: label_project_id: "项目ID:" label_apply_project: "+申请加入" - label_button_following: "+关注" + label_button_following: "+添加关注" label_exit_project: 退出项目 label_apply_project_waiting: 已处理申请,请等待管理员审核 label_unapply_project: 取消申请 @@ -52,7 +65,7 @@ zh: project_module_boards: 讨论区 - project_module_boards_post: 发帖 + project_module_boards_post: 发帖新帖 project_module_files: 资源库 project_module_repository: 版本库 project_module_create_repository: 创建版本库 @@ -253,7 +266,8 @@ zh: # 项目得分 # label_projects_score: 项目综合得分 - + label_project_new_list: 条项目新闻 + label_issue_score: issue得分 label_issue_number: issue的数量 label_issue_journal_number: issue的留言数量 diff --git a/config/locales/zh.yml b/config/locales/zh.yml index f1dbe7d3c..fd0fa1d06 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -1225,6 +1225,7 @@ zh: label_author_name: 由%{author_name}发表了 label_post_on: 发表了 + label_post_on_issue: 发表了问题 diff --git a/public/images/115960_50.jpg b/public/images/115960_50.jpg deleted file mode 100644 index aa45853f5..000000000 Binary files a/public/images/115960_50.jpg and /dev/null differ diff --git a/public/images/121944_50.jpg b/public/images/121944_50.jpg deleted file mode 100644 index 26e7db3e7..000000000 Binary files a/public/images/121944_50.jpg and /dev/null differ diff --git a/public/images/12_50.png b/public/images/12_50.png deleted file mode 100644 index af618c697..000000000 Binary files a/public/images/12_50.png and /dev/null differ diff --git a/public/images/233683_50.jpg b/public/images/233683_50.jpg deleted file mode 100644 index 65ef363cc..000000000 Binary files a/public/images/233683_50.jpg and /dev/null differ diff --git a/public/images/28_50.jpg b/public/images/28_50.jpg deleted file mode 100644 index 0d2f45b63..000000000 Binary files a/public/images/28_50.jpg and /dev/null differ diff --git a/public/images/47318_50.jpg b/public/images/47318_50.jpg deleted file mode 100644 index e825b1949..000000000 Binary files a/public/images/47318_50.jpg and /dev/null differ diff --git a/public/images/737521_50.jpg b/public/images/737521_50.jpg deleted file mode 100644 index 68a02e4a7..000000000 Binary files a/public/images/737521_50.jpg and /dev/null differ diff --git a/public/images/860270_50.jpg b/public/images/860270_50.jpg deleted file mode 100644 index beea14904..000000000 Binary files a/public/images/860270_50.jpg and /dev/null differ diff --git a/public/images/926055_50.jpg b/public/images/926055_50.jpg deleted file mode 100644 index 90e0e8474..000000000 Binary files a/public/images/926055_50.jpg and /dev/null differ diff --git a/public/images/avatars/Project/0 b/public/images/avatars/Project/0 index 585b4bfc0..19a3ac4c6 100644 Binary files a/public/images/avatars/Project/0 and b/public/images/avatars/Project/0 differ diff --git a/public/images/new_project/close.png b/public/images/new_project/close.png new file mode 100644 index 000000000..301ba5e85 Binary files /dev/null and b/public/images/new_project/close.png differ diff --git a/public/images/new_project/pic_01.jpg b/public/images/new_project/pic_01.jpg new file mode 100644 index 000000000..bf6678e22 Binary files /dev/null and b/public/images/new_project/pic_01.jpg differ diff --git a/public/images/new_project/pic_ad.png b/public/images/new_project/pic_ad.png new file mode 100644 index 000000000..d3ef56d26 Binary files /dev/null and b/public/images/new_project/pic_ad.png differ diff --git a/public/images/new_project/pic_down.png b/public/images/new_project/pic_down.png new file mode 100644 index 000000000..a2252b75d Binary files /dev/null and b/public/images/new_project/pic_down.png differ diff --git a/public/images/new_project/pic_project.jpg b/public/images/new_project/pic_project.jpg new file mode 100644 index 000000000..19a3ac4c6 Binary files /dev/null and b/public/images/new_project/pic_project.jpg differ diff --git a/public/images/new_project/pic_question.png b/public/images/new_project/pic_question.png new file mode 100644 index 000000000..2e4813842 Binary files /dev/null and b/public/images/new_project/pic_question.png differ diff --git a/public/javascripts/course.js b/public/javascripts/course.js index 4ca2c3403..4d60b9226 100644 --- a/public/javascripts/course.js +++ b/public/javascripts/course.js @@ -1,372 +1,372 @@ -//配置课程信息 -function course_setting(id) -{ - //alert(id); - $('#tb_'+id).removeClass().addClass("hwork_hovertab"); - $('#tbc_0'+id).removeClass().addClass("dis"); - $('#tb_'+(3-id)).removeClass().addClass("hwork_normaltab"); - $('#tbc_0'+(3-id)).removeClass().addClass("undis"); -} - -/////////////////////////////////////////////////////////////// -//添加分班 -function add_group(url,course_id) { - var group_name = $('#group_name').val(); - $.get( - url, - { valid: "name", - value: group_name, - course_id: course_id }, - function (data) { - if (data.valid) { - $("#add_group_name").submit(); - } - else - { - alert(data.message); - } - } - ); -} -//修改分班:修改分班时得考虑什么都不改但是点击确定的情况 -function edit_group(id,url,course_id,group_id) -{ - var group_name = $('#'+id).val(); - $.get( - url, - { - valid: "name", - value: group_name, - course_id: course_id, - group_id: group_id - }, - function (data) { - if (data.valid) { - $("#update_group_"+group_id).submit(); - } - else - { - alert(data.message); - } - } - ); -} -/////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////新建课程相关 -//验证课程名称 -function regex_course_name() -{ - var name = $.trim($("#course_name").val()); - if(name.length == 0) - { - $("#course_name_notice").show(); - return false; - } - else - { - $("#course_name_notice").hide(); - return true; - } -} -//验证课程学时 -function regex_course_class_period() -{ - var class_period = $.trim($("#class_period").val()); - var regex = /^\d*$/; - if(class_period.length == 0) - { - $("#course_class_period_notice").html("学时总数不能为空"); - $("#course_class_period_notice").show(); - return false; - } - else if (regex.test(class_period)) { - $("#course_class_period_notice").html(""); - $("#course_class_period_notice").hide(); - return true; - } - else - { - $("#course_class_period_notice").html("学时总数必须为数字"); - $("#course_class_period_notice").show(); - return false; - } -} -//提交新建课程 -function submit_new_course() -{ - if(regex_course_name()&®ex_course_class_period()) - { - $("#new_course").submit(); - } -} - -function submit_edit_course(id) -{ - if(regex_course_name()&®ex_course_class_period()) - { - $("#edit_course_"+id).submit(); - } -} - -/////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////课程讨论区 -function regexSubject() -{ - var content = $.trim($("#message_subject").val()); - if(content.length ==0) - { - $("#subject_span").text("主题不能为空"); - $("#subject_span").css('color','#ff0000'); - return false; - } - else - { - $("#subject_span").text("填写正确"); - $("#subject_span").css('color','#008000'); - return true; - } - return false; -} -function regexContent() -{ - var content = $.trim($("#message_content").val()); - if(content.length ==0) - { - $("#message_content_span").text("描述不能为空"); - $("#message_content_span").css('color','#ff0000'); - return false; - } - else - { - $("#message_content_span").text("填写正确"); - $("#message_content_span").css('color','#008000'); - return true; - } - return false; -} -function submitCoursesBoard() -{ - if(regexSubject()&®exContent()){$("#message-form").submit();} -} -/////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////// 课程通知 -function regexTitle() -{ - var name = $("#news_title").val(); - if(name.length ==0) - { - $("#title_notice_span").text("标题不能为空"); - $("#title_notice_span").css('color','#ff0000'); - $("#title_notice_span").focus(); - return false; - } - else if(name.length <= 60) - { - $("#title_notice_span").text("填写正确"); - $("#title_notice_span").css('color','#008000'); - return true; - } - else - { - $("#title_notice_span").text("标题超过60个字符"); - $("#title_notice_span").css('color','#ff0000'); - $("#title_notice_span").focus(); - return false; - } -} - -function regexDescription() -{ - var name = $("#news_description").val(); - if(name.length ==0) - { - $("#description_notice_span").text("描述不能为空"); - $("#description_notice_span").css('color','#ff0000'); - $("#description_notice_span").focus(); - return false; - } - else - { - $("#description_notice_span").text("填写正确"); - $("#description_notice_span").css('color','#008000'); - return true; - } -} - -function submitNews() -{ - if(regexTitle() && regexDescription()) - { - $("#news-form").submit(); - } -} - -function submitFocus(obj) -{ - $(obj).focus(); -} -/////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////// -//验证搜索时输入名字 -function regexName(content) -{ - var name = $.trim($("#name").val()); - if(name.length == 0) - { - $("#project_name_span").text(content); - $("#project_name_span").css('color','#ff0000'); - $("#project_name_span").focus(); - return false; - } - else - { - $("#project_name_span").text(""); - return true; - } -} -//提交搜索 -function submitSerch(content) -{ - if(regexName(content)){$("#course_search_form").submit();} -} -//课程描述显示更多信息 -function show_more_msg() -{ - $("#course_description").toggleClass("course_description_none"); -} -//作业描述显示更多信息 -function news_show_more_des(id) -{ - $('#news_description_' + id).toggleClass("news_description_none"); -} -function bid_show_more_des(id) -{ - $("#bid_description_" + id).toggleClass("news_description_none"); -} - -//课程作业结束时间倒计时 -function show_bid_dead_line(year,month,day,divname) -{ - var now = new Date(); - var endDate = new Date(year, month-1, day); - var leftTime=endDate.getTime()-now.getTime(); - var leftsecond = parseInt(leftTime/1000); - var day1=Math.floor(leftsecond/(60*60*24)); - var hour=Math.floor((leftsecond-day1*24*60*60)/3600); - var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60); - var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60); - $("#"+divname).html("
    " - + " 天" - + " 小时" - + " 分" - + " 秒" - + "
    " - + "

    作业提交还剩:

    "); -} -//验证新建作业的名字 -function regex_bid_name() -{ - var name = $.trim($("#bid_name").val()); - - if(name=="") - { - $("#bid_name_span").text("名称不能为空"); - return false; - } - else - { - $("#bid_name_span").text(""); - return true; - } -} - -//验证匿评数量 -function regex_evaluation_num() -{ - var evaluation_num = $.trim($("#bid_evaluation_num").val()); - var regex = /^\d+$/; - if($("#bid_open_anonymous_evaluation").attr("checked") == "checked") - { - if(evaluation_num=="") - { - $("#bid_evaluation_num_span").text("匿评分配数量不能为空"); - return false; - } - else if(regex.test(evaluation_num)) - { - if(evaluation_num > 0) - { - $("#bid_evaluation_num_span").text(""); - return true; - } - else - { - $("#bid_evaluation_num_span").text("匿评分配数量必须为大于0"); - return false; - } - } - else - { - $("#bid_evaluation_num_span").text("匿评分配数量只能为数字"); - return false; - } - } - else - { - return true; - } -} - -//点击是否开启匿评单选框效果 -$(function(){ - $("#bid_open_anonymous_evaluation").click(function(){ - if($("#bid_open_anonymous_evaluation").attr("checked") == "checked") - { - $("#bid_evaluation_num_li").slideDown(); - } - else - { - $("#bid_evaluation_num_li").slideUp(); - } - }); -}); - -//老师提交新建作业 -function submit_new_bid(id) -{ - if(regex_bid_name()&®ex_evaluation_num()) - { - $("#"+id).submit(); - } -} - -function show_window (id1,id2,top,left) { - $('#'+ id1).css('top',top); - $('#'+ id1).css('left',left); - $('#'+ id1).css('display','block'); - $('#' + id2).css('display','block'); -} - -function close_window(id1,id2){ - $('#' + id1).css('display','none'); - $('#' + id2).css('display','none'); -} - -//隐藏提示狂 -function hidden_atert_form(cur_page,cur_type) -{ - hideModal($("#popbox")); -} - -//当课程描述长度小于112px时,不显示更多按钮 -$(function(){ - if($("#course_description_content").height()>112) - { - $("#lg-foot").show(); - } -}); - -//将右侧的最小高度设置成左侧高度,美化界面 -$(document).ready(function () { - $("#RSide").css("min-height",$("#LSide").height()-30); +//配置课程信息 +function course_setting(id) +{ + //alert(id); + $('#tb_'+id).removeClass().addClass("hwork_hovertab"); + $('#tbc_0'+id).removeClass().addClass("dis"); + $('#tb_'+(3-id)).removeClass().addClass("hwork_normaltab"); + $('#tbc_0'+(3-id)).removeClass().addClass("undis"); +} + +/////////////////////////////////////////////////////////////// +//添加分班 +function add_group(url,course_id) { + var group_name = $('#group_name').val(); + $.get( + url, + { valid: "name", + value: group_name, + course_id: course_id }, + function (data) { + if (data.valid) { + $("#add_group_name").submit(); + } + else + { + alert(data.message); + } + } + ); +} +//修改分班:修改分班时得考虑什么都不改但是点击确定的情况 +function edit_group(id,url,course_id,group_id) +{ + var group_name = $('#'+id).val(); + $.get( + url, + { + valid: "name", + value: group_name, + course_id: course_id, + group_id: group_id + }, + function (data) { + if (data.valid) { + $("#update_group_"+group_id).submit(); + } + else + { + alert(data.message); + } + } + ); +} +/////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////新建课程相关 +//验证课程名称 +function regex_course_name() +{ + var name = $.trim($("#course_name").val()); + if(name.length == 0) + { + $("#course_name_notice").show(); + return false; + } + else + { + $("#course_name_notice").hide(); + return true; + } +} +//验证课程学时 +function regex_course_class_period() +{ + var class_period = $.trim($("#class_period").val()); + var regex = /^\d*$/; + if(class_period.length == 0) + { + $("#course_class_period_notice").html("学时总数不能为空"); + $("#course_class_period_notice").show(); + return false; + } + else if (regex.test(class_period)) { + $("#course_class_period_notice").html(""); + $("#course_class_period_notice").hide(); + return true; + } + else + { + $("#course_class_period_notice").html("学时总数必须为数字"); + $("#course_class_period_notice").show(); + return false; + } +} +//提交新建课程 +function submit_new_course() +{ + if(regex_course_name()&®ex_course_class_period()) + { + $("#new_course").submit(); + } +} + +function submit_edit_course(id) +{ + if(regex_course_name()&®ex_course_class_period()) + { + $("#edit_course_"+id).submit(); + } +} + +/////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////课程讨论区 +function regexSubject() +{ + var content = $.trim($("#message_subject").val()); + if(content.length ==0) + { + $("#subject_span").text("主题不能为空"); + $("#subject_span").css('color','#ff0000'); + return false; + } + else + { + $("#subject_span").text("填写正确"); + $("#subject_span").css('color','#008000'); + return true; + } + return false; +} +function regexContent() +{ + var content = $.trim($("#message_content").val()); + if(content.length ==0) + { + $("#message_content_span").text("描述不能为空"); + $("#message_content_span").css('color','#ff0000'); + return false; + } + else + { + $("#message_content_span").text("填写正确"); + $("#message_content_span").css('color','#008000'); + return true; + } + return false; +} +function submitCoursesBoard() +{ + if(regexSubject()&®exContent()){$("#message-form").submit();} +} +/////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////// 课程通知 +function regexTitle() +{ + var name = $("#news_title").val(); + if(name.length ==0) + { + $("#title_notice_span").text("标题不能为空"); + $("#title_notice_span").css('color','#ff0000'); + $("#title_notice_span").focus(); + return false; + } + else if(name.length <= 60) + { + $("#title_notice_span").text("填写正确"); + $("#title_notice_span").css('color','#008000'); + return true; + } + else + { + $("#title_notice_span").text("标题超过60个字符"); + $("#title_notice_span").css('color','#ff0000'); + $("#title_notice_span").focus(); + return false; + } +} + +function regexDescription() +{ + var name = $("#news_description").val(); + if(name.length ==0) + { + $("#description_notice_span").text("描述不能为空"); + $("#description_notice_span").css('color','#ff0000'); + $("#description_notice_span").focus(); + return false; + } + else + { + $("#description_notice_span").text("填写正确"); + $("#description_notice_span").css('color','#008000'); + return true; + } +} + +function submitNews() +{ + if(regexTitle() && regexDescription()) + { + $("#news-form").submit(); + } +} + +function submitFocus(obj) +{ + $(obj).focus(); +} +/////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////// +//验证搜索时输入名字 +function regexName(content) +{ + var name = $.trim($("#name").val()); + if(name.length == 0) + { + $("#project_name_span").text(content); + $("#project_name_span").css('color','#ff0000'); + $("#project_name_span").focus(); + return false; + } + else + { + $("#project_name_span").text(""); + return true; + } +} +//提交搜索 +function submitSerch(content) +{ + if(regexName(content)){$("#course_search_form").submit();} +} +//课程描述显示更多信息 +function show_more_msg() +{ + $("#course_description").toggleClass("course_description_none"); +} +//作业描述显示更多信息 +function news_show_more_des(id) +{ + $('#news_description_' + id).toggleClass("news_description_none"); +} +function bid_show_more_des(id) +{ + $("#bid_description_" + id).toggleClass("news_description_none"); +} + +//课程作业结束时间倒计时 +function show_bid_dead_line(year,month,day,divname) +{ + var now = new Date(); + var endDate = new Date(year, month-1, day); + var leftTime=endDate.getTime()-now.getTime(); + var leftsecond = parseInt(leftTime/1000); + var day1=Math.floor(leftsecond/(60*60*24)); + var hour=Math.floor((leftsecond-day1*24*60*60)/3600); + var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60); + var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60); + $("#"+divname).html("
    " + + " 天" + + " 小时" + + " 分" + + " 秒" + + "
    " + + "

    作业提交还剩:

    "); +} +//验证新建作业的名字 +function regex_bid_name() +{ + var name = $.trim($("#bid_name").val()); + + if(name=="") + { + $("#bid_name_span").text("名称不能为空"); + return false; + } + else + { + $("#bid_name_span").text(""); + return true; + } +} + +//验证匿评数量 +function regex_evaluation_num() +{ + var evaluation_num = $.trim($("#bid_evaluation_num").val()); + var regex = /^\d+$/; + if($("#bid_open_anonymous_evaluation").attr("checked") == "checked") + { + if(evaluation_num=="") + { + $("#bid_evaluation_num_span").text("匿评分配数量不能为空"); + return false; + } + else if(regex.test(evaluation_num)) + { + if(evaluation_num > 0) + { + $("#bid_evaluation_num_span").text(""); + return true; + } + else + { + $("#bid_evaluation_num_span").text("匿评分配数量必须为大于0"); + return false; + } + } + else + { + $("#bid_evaluation_num_span").text("匿评分配数量只能为数字"); + return false; + } + } + else + { + return true; + } +} + +//点击是否开启匿评单选框效果 +$(function(){ + $("#bid_open_anonymous_evaluation").click(function(){ + if($("#bid_open_anonymous_evaluation").attr("checked") == "checked") + { + $("#bid_evaluation_num_li").slideDown(); + } + else + { + $("#bid_evaluation_num_li").slideUp(); + } + }); +}); + +//老师提交新建作业 +function submit_new_bid(id) +{ + if(regex_bid_name()&®ex_evaluation_num()) + { + $("#"+id).submit(); + } +} + +function show_window (id1,id2,top,left) { + $('#'+ id1).css('top',top); + $('#'+ id1).css('left',left); + $('#'+ id1).css('display','block'); + $('#' + id2).css('display','block'); +} + +function close_window(id1,id2){ + $('#' + id1).css('display','none'); + $('#' + id2).css('display','none'); +} + +//隐藏提示狂 +function hidden_atert_form(cur_page,cur_type) +{ + hideModal($("#popbox")); +} + +//当课程描述长度小于112px时,不显示更多按钮 +$(function(){ + if($("#course_description_content").height()>112) + { + $("#lg-foot").show(); + } +}); + +//将右侧的最小高度设置成左侧高度,美化界面 +$(document).ready(function () { + $("#RSide").css("min-height",$("#LSide").height()-30); }); \ No newline at end of file diff --git a/public/javascripts/project.js b/public/javascripts/project.js new file mode 100644 index 000000000..bdeb446d0 --- /dev/null +++ b/public/javascripts/project.js @@ -0,0 +1,129 @@ +//验证搜索时输入字 +function regexName() { + var name = $.trim($("#name").val()); + if (name.length == 0) { + $("#project_name_span").text("<%= l(:label_search_conditions_not_null) %>"); + $("#project_name_span").css('color', '#ff0000'); + $("#project_name_span").focus(); + return false; + } + else { + $("#project_name_span").text(""); + return true; + } +} + +// 项目描述超过展开 +$(function(){ + $(".subNav").click(function(){ + $(this).toggleClass("currentDd").siblings(".subNav").removeClass("currentDd") + $(this).toggleClass("currentDt").siblings(".subNav").removeClass("currentDt") + + // 修改数字控制速度, slideUp(500)控制卷起速度 + $(this).next(".navContent").slideToggle(500).siblings(".navContent").slideUp(500); + }) +}) + +// 描述显示更多信息 +function show_more_msg() +{$("#course_description").toggleClass("course_description_none");} + +/////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////项目讨论区 +function regexSubject() +{ + var content = $.trim($("#message_subject").val()); + if(content.length ==0) + { + $("#subject_span").text("主题不能为空"); + $("#subject_span").css('color','#ff0000'); + return false; + } + else + { + $("#subject_span").text("填写正确"); + $("#subject_span").css('color','#008000'); + return true; + } + return false; +} +function regexContent() +{ + var content = $.trim($("#message_content").val()); + if(content.length ==0) + { + $("#message_content_span").text("描述不能为空"); + $("#message_content_span").css('color','#ff0000'); + return false; + } + else + { + $("#message_content_span").text("填写正确"); + $("#message_content_span").css('color','#008000'); + return true; + } + return false; +} + +// 项目编辑和提交 +function submitProjectsBoard() +{ + if(regexSubject()&®exContent()){$("#message-form").submit();} +} + +// 提交新闻 +function regexTitle() +{ + var name = $("#news_title").val(); + if(name.length ==0) + { + $("#title_notice_span").text("标题不能为空"); + $("#title_notice_span").css('color','#ff0000'); + $("#title_notice_span").focus(); + return false; + } + else if(name.length <= 60) + { + $("#title_notice_span").text("填写正确"); + $("#title_notice_span").css('color','#008000'); + return true; + } + else + { + $("#title_notice_span").text("标题超过60个字符"); + $("#title_notice_span").css('color','#ff0000'); + $("#title_notice_span").focus(); + return false; + } +} + +function regexDescription() +{ + var name = $("#news_description").val(); + if(name.length ==0) + { + $("#description_notice_span").text("描述不能为空"); + $("#description_notice_span").css('color','#ff0000'); + $("#description_notice_span").focus(); + return false; + } + else + { + $("#description_notice_span").text("填写正确"); + $("#description_notice_span").css('color','#008000'); + return true; + } +} + +function submitNews() +{ + if(regexTitle() && regexDescription()) + { + $("#news-form").submit(); + } +} + +function submitFocus(obj) +{ + $(obj).focus(); +} diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 6053940d6..cc451a760 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -1,459 +1,459 @@ - -/*右侧内容--动态*/ -.project_r_h{ width:670px; height:40px; background:#eaeaea; margin-bottom:10px;} -.project_r_h02{ width:920px; height:40px; background:#eaeaea; margin-bottom:10px;} -.project_h2{ background:#64bdd9; color:#fff; height:33px; width:90px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;} -.project_r_box{ border:1px solid #e2e1e1; width:670px; margin-top:10px;} -.project_h3 { color:#646464; font-size:14px; padding:0 10px; border-bottom:1px solid #e2e1e1;} -.more{ float:right; font-size:12px; font-weight:normal; color:#a9a9a9; margin-top:3px;} -.more:hover{ color:#64bdd9;} -.project_box_ul{ padding:0 10px;} -.project_box_list{ padding:10px 0; border-bottom:1px dashed #e2e1e1; padding-left:30px; color:#6f6c6c;} -.img_problem{ background:url(../images/new_project/img_project.png) 0 -20px no-repeat;} -.img_talk{ background:url(../images/new_project/img_project.png) 0 -62px no-repeat;} -.img_ziyuan{ background:url(../images/new_project/img_project.png) 0 -115px no-repeat;} -.img_edition{ background:url(../images/new_project/img_project.png) 0 -167px no-repeat;} -a.project_name{ color:#058c42;} -a:hover.project_name{ color:#016f33;} -.project_txt{ color:#0781b4; width:445px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} -a.project_txt02{ color:#0781b4; width:618px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} -a:hover.project_txt{ color:#066e9a;} -.noline{ border-bottom:none;} -.news_description{max-height: 38px;overflow:hidden; } -.news_description_none{max-height: none;} -a.news_foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:600px; height:20px; padding-top:3px; cursor:pointer;} -a:hover.news_foot{ color:#787b7e; border:1px solid #d4d4d4;} - - -/*邮件邀请*/ -.box_main{ width:345px; margin:0 auto;} -.box_h3{ color:#15bccf; text-align:center; font-size:16px;} -.box_p{ color:#404040; margin-bottom:5px;} -.fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:10px; padding-left:5px; width:290px;} -/*.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;}*/ -/*.icon_addm:hover{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }*/ -/*.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}*/ -/*.icon_removem:hover{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}*/ -a.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;} -a:hover.btn_free{ background:#d63502;} -/*成员邀请*/ -.invi_search{ width:230px; margin:0 auto;} -.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;} -a.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;} -a:hover.invi_search_btn{ background:#0da1b2; border:1px solid #0da1b2;} -/*问题跟踪*/ -.problem_top{ margin:10px 0 ;} -.problem_search_input{ border:1px solid #64bdd9; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;} -a.problem_search_btn{ background:#64bdd9; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #64bdd9; padding-top:2px; cursor:pointer;} -a:hover.problem_search_btn{ background:#3da1c1; border:1px solid #3da1c1;} -a.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143; padding:1px 3px; font-size:12px; text-align:center; padding-top:2px;} -a:hover.problem_new_btn{ background:#ff7143; color:#fff;} -.problem_p{ color:#535252; margin-top:5px;} -.problem_p span{ color:#ff3e00;} -a.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3;} -a:hover.problem_pic{border:1px solid #64bdd9;} -.problem_txt{ width:610px; margin-left:10px; color:#777777;word-break: break-all;word-wrap: break-word;} -a.problem_name{ color:#ff5722;} -a:hover.problem_name{ color:#d33503;} -a.problem_tit{ color:#0781b4; width:430px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} -a:hover.problem_tit{ color:#09658c; } -.problem_main{ border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;} -/****翻页***/ -ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; } -ul.wlist li{float: left;} -ul.wlist li a{ border:1px solid #15bccf; padding: 1px 4px 1px 4px; margin-left:3px;} -ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;} -/*.wlist_select { background-color:#64bdd9; color:#fff; padding: 1px 5px 0px 5px; margin-left:3px;margin-top: -2px; border:1px solid #64bdd9;}*/ -.wlist_select a{background-color: #64bdd9;cursor: default;} -/****讨论区***/ -.talk_top{ margin:10px 0; font-size:14px; color:#4c4c4c;} -.talk_top span{ color:#ff7143;} -.talk_txt{ width:460px; margin-left:10px; color:#676868;} -.talk_up{ color:#f63c00;} -a.talk_pic{ display:block; width:32px; height:32px; padding:3px; border:1px solid #e3e3e3;} -a:hover.talk_pic{border:1px solid #64bdd9;} -a.talk_btn{ background:#64bdd9; width:50px; height:20px; color:#fff; text-align:center; margin-top:12px; padding-top:3px;} -a:hover.talk_btn{ background:#2a9dc1;} -/****讨论区内页***/ -.mt0{ margin-top:0px;} -.talk_info{ color:#7d7d7d; margin-left:60px; margin-top:10px;} -a.talk_edit{ color:#426e9a; margin-right:5px;} -a:hover.talk_edit{ color:#ff5722;} -.talk_reply { background:#eeeeee; padding:10px; margin-bottom:10px;} -.talkpage_text{ border:1px solid #64bdd9; width:600px; color:#7d7d7d; padding:5px; margin:10px 0 10px 50px; background:#fff;} -/****新建讨论***/ -.talk_new{ color:#4c4c4c;} -.talk_input{ border:1px solid #64bdd9; height:16px; width:585px; background:#fff; margin-bottom:10px; padding:5px;} -.talk_text{ border:1px solid #64bdd9; height:100px;width:585px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;} -.talk_new ul li{ } -.sb{width:70px; height:26px; color:#606060; cursor:pointer;} -a.blue_btn{ background:#64bdd9; display:block; font-size:14px;color:#fff; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;} -a:hover.blue_btn{ background:#329cbd;} -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:hover.grey_btn{ background:#717171; color:#fff;} -/****资源库***/ -.f_l{ float:left;} -.f_r{ float:right;} -.resource a{ text-align:center;} -.b_lblue{ background:#64bdd9;} -.b_dblue{ background:#55a1b9; cursor:pointer;} -.f_b{ font-weight: bold;} -.c_blue{ color:#64bdd9;} -.c_grey{ color:#999999;} -.c_grey02{ color:#666666;} -.f_14{ font-size:14px;} -.c_dblue{ color:#3e6d8e;} -.w90{width:90px;} -.w40{width:40px;} -.ml10{margin-left:10px;} -.resource{ width:670px;} -.re_top{width:660px; height:40px; background:#eaeaea; padding:5px;} -.re_top input{ float:left;} -.re_search{ margin-top:7px; margin-left:5px;} -.re_schbox{ width:240px; height:24px; border:1px solid #64bdd9; color:#666666;} -.re_schbtn{ width:60px; height:26px; color:#fff; margin-right:5px; border:none; margin-left:0px;padding-left: 0px;} -a.re_fabu { display:block; width:90px; height:30px; font-size:14px; color:#fff; text-align:center; padding-top:10px; } -a:hover.re_fabu{background:#55a1b9;} -.re_con{ margin:5px; width:665px;} -.re_con_top{color:#494949; } -.re_con_top span{ color:#999999; font-weight:bold;} -a.re_select{ display:block; height:20px; border:1px solid #ff9900; color:#ff9900; margin-left:10px; padding:2px 5px 1px;} -a:hover.re_select{ background:#ff9900; color:#fff; text-decoration:none;} -a.re_open{display:block; width:46px; height:19px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;padding-top:3px;} -a:hover.re_open{ background:#64bdd9; color:#fff; text-decoration:none;} -a.re_de{ color:#6883b6; margin-left:15px;} -.re_con_box{ border-bottom:1px dashed #dadada; padding-bottom:10px; margin-bottom:10px;} -/****资源库***/ -/*.setting{ background:url(../images/setting.jpg) 0 0 no-repeat; width:670px; height:443px;}*/ - -/* 作业列表 */ -.ttl{ } -.ctt{height:820px;clear:both; } -#contentbox{float:right;clear:both;width:670px;/*滑动门的宽度*/} -/* TAB 切换效果 */ -.tb_{ background-color: #eaeaea; height:40px; } -.tb_ ul{height:40px; } -.tb_ li{float:left;height:34px;width: 90px;cursor:pointer; font-size:14px; padding-top:6px; text-align:center; } -a.tb_all{ margin-left:212px; font-size:12px; display:block; height:23px; padding-top:4px; width:90px; color:#7a7a7a; border:1px solid #cbcbcb; background:#fff; text-align: center;} -a:hover.tb_all{ background:#eaeaea; text-decoration:none;} - -.work_tb_{ background-color: #eaeaea; height:40px; } -a.work_edit{color: #64bdd9; display:block; padding:1px 5px; border:1px solid #64bdd9;} -a:hover.work_edit{color: #fff; background: #64bdd9;} - -/* 控制显示与隐藏css类 */ -.normaltab { color:#64bdd9 ; } -.hovertab { color:#fff; background-color:#64bdd9; } -.normaltab a { color:#64bdd9 ; } -.hovertab a{color:#fff; background-color:#64bdd9; text-decoration:none;} -.dis{display:block; } -.undis{display:none;} -.c_red{ color:#de030d;} -.f_12{ font-size:12px;} -.w_40{ width:40px; border:1px solid red;} -.dis_ul{ height:70px; border-bottom:1px dashed #d4d4d4; margin-bottom:10px;} -.dis_ul li{ float:left;} -.dis_ul li a{ display:block; color:#15bccf; } -.pic_head{ width:44px; padding:0px 15px 0 0px;} -.pic_head a{ text-align:center; width:44px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} -.pic_head img{ border:1px solid #e3e3e3; width:40px; height:40px; padding:1px;} -.pic_head img:hover{border:1px solid #15bccf;} -.dis ul li.wname a{ width:260px; font-size:14px; color:#595959; padding:20px 0 0 0px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} -.dis ul li.wdown a{padding-top:22px; color:#3d7ec2; margin-right:35px;} -.wscore{ padding-top:22px; color:#888888; width:96px;} -.dis ul li.wping{margin-left:12px; } -.dis ul li.wping a{ margin-top:18px; margin-bottom:3px; width:43px; height:22px; background:#15bccf; color:#fff; text-align:center; padding-top:4px;} -.dis ul li.wping a:hover{ background-color:#03a1b3;} -.code_list{ float:right; font-size:12px; color:#484848; padding:5px 3px; border-bottom:2px solid #15bccf; width:665px; margin-bottom:10px;} -.code_list a{ color:#787878;} -.fr{ float:right;} -.c_grey{ color:#999; font-weight:normal;} -.dis ul li.wname02 a{ width:200px; font-size:14px; color:#595959; padding:20px 0 0 15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} -.dis ul li.wmine{ margin:12px 0 0 10px;} -.dis ul li.wmine a{ color:#3d7ec2; text-align:center; width:50px; font-weight: bold;} -.wzan{ margin:15px 0 0 25px; width:32px; height:44px;} -.wzan a{ display: block;} -a.wzan_img{background:url(images/pic_zan.png) 0 -59px no-repeat; display:block; height:31px; width:30px; color:#fff;} -a.wzan_visited{background:url(images/pic_zan.png) 0 0 no-repeat;} -.msg_box{ width:670px; height:173px; border-bottom:1px dashed #CCC; padding-top:10px;} -.msg_box h4{ } -.msg_box textarea{width:658px;height:90px;padding:5px;overflow:hidden;background-color: #ffffff; border:1px solid #CCC; margin:5px 0px; color:#666; font-size:12px; } -/*.msg_box a{ float:right; display:block; width:50px; height:22px; background:#15bccf; padding-top:3px; color:#fff; margin-left:10px; text-align:center; margin-top:5px; }*/ -/*.msg_box a:hover{ background-color:#03a1b3; text-decoration:none;}*/ - - -/****评分弹框****/ -/*#popbox{width:488px;height:550px;position:absolute;z-index:100;left:50%;top:40%;margin:-215px 0 0 -300px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; padding:5px; overflow:auto; }*/ -.alert .close{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-502px;background:url(images/close.png) no-repeat;cursor:pointer;} -.alert .C{width:476px;height:296px;position:absolute;left:5px;top:5px; } -.ping_con{ margin:5px; border-bottom:1px dashed #CCC; padding-bottom:5px;} -.ping_con ul{ height:30px;} -.ping_con ul li{ float:left; color:#656767; font-weight:bold;} -.ping_con h2{ font-size:14px; color:#444443; margin-bottom:10px; float:left;} -.ping_con p{ color:#777777; font-size:12px; border-bottom:1px dashed #CCC; padding-bottom:5px;} -.ping_con p span a{ color:#777777;} -.ping_star{ width:160px; color:#333; font-weight:bold; margin-bottom:5px;} -.ping_star span a{ float:right; width:20px; height:20px; background:url(images/star.png) -2px 0 no-repeat; margin-right:3px;} -.ping_star span a:hover{background:url(images/star.png) -24px 0 no-repeat;} -.ping_con textarea{ width:455px; height:76px; border:1px solid #15bccf; margin-bottom:5px; color:#666; font-size:12px;} -a.ping_sub{ float:right; height:22px; width:60px; background:#15bccf; color:#fff; text-align:center;} -a:hover.ping_sub{ background:#14a8b9;} -.recall{ border-top:1px solid #CCC; padding:5px 0;} -.recall_head{ float:left;} -.recall_head a{ display:block; width:30px; height:30px; border:1px solid #CCC; padding:1px;} -.recall_head a:hover{border:1px solid #15bccf;} -.recall_con{ float:left;color:#777777; width:520px; margin-left:10px;word-break: break-all;word-wrap: break-word; } -.recall_con a{ color:#15bccf; } -.ping_list{ margin-top:15px;} -.ping_ttl{height:18px;} -.ping_ctt{height:auto;padding:6px;clear:both;} -.ping_tb_{ border-bottom:3px solid #e4e4e4; text-align:center;} -.ping_tb_ ul{height:24px;} -.ping_tb_ li{float:left;height: 24px;width: auto; padding:0 10px;cursor:pointer;} -.ping_normaltab { color:#15bccf ; border-bottom:3px solid #e4e4e4;} -.ping_hovertab { color:#656767; font-weight:bold; border-bottom:3px solid #15bccf; } -.ping_dis{display:block; } -.ping_undis{display:none;} -.ping_C{border-bottom:1px dashed #CCC; padding:10px 0 0px;} -.ping_dispic a{ display:block; height:46px; width:46px; border:1px solid #CCC; padding:1px; float:left;} -.ping_dispic a:hover{border:1px solid #15bccf;} -.ping_discon{ float:left; width:610px; margin-left:10px; } -/*.ping_distop span{ float:left;}*/ -.ping_distop p{ color:#5f5f5f;word-break: break-all;word-wrap: break-word;} -.ping_disfoot a{ float:right; color: #6883b6; margin-left:5px; margin-bottom:5px;} -/*.ping_distop span a{ float:right; width:20px; height:20px; background:url(images/star.png) -24px 0 no-repeat; margin-right:3px;}*/ - -/* 创建作品 work */ -.Newwork{ width:668px; height:418px;} -.N_top{ float:right; margin-left:390px; } -.N_con{ color:#484747; font-weight:bold; width:660px; margin-top:10px; } -.N_con p{ } -.w430{ width:470px;} -.w557{ width:557px;} -.w350{ width:350px;} -.w620{ width:480px; height:160px; border:1px solid #CCC;} -.bo{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:470px; } -.bo02{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:480px; margin-left:2px; color: #999; } -.hwork_txt{ width:560px; padding-left:5px; background:#fff;} -a.tijiao{ height:28px; display:block; width:80px; color:#fff; background:#15bccf; text-align:center; padding-top:4px; float:left; margin-right:10px;} -a:hover.tijiao{ background:#0f99a9;} -.members_left{ float:left; width:410px; margin-right:20px; text-align:center;} -.members_left{} -.members_left ul li{ height:30px; border-bottom:1px solid #E4E4E4; width:410px; padding-top:10px; } -.members_left ul li a{ float:left; text-align:center;} -.members_left ul li span{ float:left; text-align:center; color:#484747;} - -.w150{ text-align:center; width:150px;} -.f_b{ font-weight: bold;} -.members_right label{ margin-left:15px;} -.N_search{ height:20px; border:1px solid #999;} -/* 创建作品 homework */ -.hwork_new{ color:#4c4c4c;} -.c_red{ color:#F00;} -.hwork_input{ border:1px solid #64bdd9; height:22px; width:555px; background:#fff; margin-bottom:10px; padding:5px;} -.hwork_input02{ border:1px solid #64bdd9; height:15px; width:120px; background:#fff; margin-bottom:10px; padding:5px;} -.hwork_text{ border:1px solid #64bdd9; height:100px;width:555px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;} -.hwork_new ul li{ } -.ml21{ margin-left:21px;} -.ml9{ margin-left:9px;} -.hwork_ttl{height:24px;} -.hwork_ctt{height:auto; padding-left:10px;clear:both;} -.hwork_tb_{ border-bottom:3px solid #e4e4e4; text-align:center;} -.hwork_tb_ ul{height:24px;} -.hwork_tb_ li{float:left;height: 24px;width: auto; padding:0 10px;cursor:pointer;} -.hwork_normaltab { color:#15bccf ; border-bottom:3px solid #e4e4e4; } -.hwork_hovertab { color:#656767; font-weight:bold; border-bottom:3px solid #15bccf; } -.hwork_dis{display:block; } -.hwork_undis{display:none;} -.project_none{ display:none;} -.about_project{ overflow:hidden;display:none;} -/*成员搜索*/ -.members_right{ float:left; margin-left:8px;} -.member_search{ width:220px; margin:0 auto;} -.member_search_input{ border:1px solid #15bccf; background:#fff; width:170px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;} -.member_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;} -.member_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;} -a.member_btn{ padding: 3px 5px; background:#15bccf; color:#fff;} -a:hover.member_btn{ background:#329cbd;} -.hol{display: none;} - -/* 新建项目 */ -.pro_new{ } -.pro_new ul li{ margin-bottom:5px; width:auto; padding:2px 5px;} - -/* 匿名评分弹框 */ -/*.popbox02{width:480px;height:200px;position:absolute;z-index:100;left:50%;top:50%;margin:-215px 0 0 -300px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; overflow:auto;}*/ -.alert .close02{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-490px;background:url(images/close.png) no-repeat;cursor:pointer;} -.ni_con { width:425px; margin:25px 30px;} -.ni_con h2{ display:block; height:40px; width:188px; margin:0 auto;} -.ni_con p{ color:#808181;} -.ni_con a:hover{ text-decoration:none;} -a.xls{ margin-left:5px; color:#136b3b;} -/* 学生列表*/ -.st_list{ width:670px;} -.st_search{ } -.st_search span{ font-size:14px; font-weight:bold; color:#606060; margin-right:35px;} -.st_search_input{ border:1px solid #1c9ec7; background:#fff; height:20px; color:#c4c4c4; width:200px; padding-left:5px; margin-bottom:5px;} -.st_search a{ background:#1c9ec7; color:#fff;border:1px solid #1c9ec7; text-align:center; display:block; width:60px; height:20px; float:left; font-size:12px; } -.st_search a:hover{ background:#048fbb; text-decoration:none;} -.classbox{ border:1px solid #f8df8c; background:#fffce6; color:#0d90c3; padding:0 3px; float:left; margin-left:15px;} -.st_addclass{ margin-top:5px;} -.st_addclass ul li,.st_addclass a,.st_addclass img{ float:left;} -.st_addclass img{ margin-top:3px;} -.st_addclass a{ color:#0d90c3;} -.st_box{ margin-top:10px; border-top:1px solid #CCC; padding-top:10px;} -.st_box ul li{ float:left;} -.st_box_top a{ font-weight:bold; color:#7a7a7a; float:left; margin-bottom:5px;} -.st_box_top a:hover{ color:#1c9ec7;} -a.st_up{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 0 no-repeat; margin-top:5px; margin-left:3px;} -a.st_down{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 -22px no-repeat; margin-top:5px; margin-left:3px;} -a.st_img { display:block;width:32px; height:32px; border:1px solid #CCC; padding:1px;} -a:hover.st_img { border:1px solid #1c9ec7; } -.st_boxlist{ border-bottom:1px dashed #CCC; height:43px; margin-bottom:10px; } -.st_boxlist a{ float:left;} -.st_boxlist ul{ float:left; width:200px; margin-left:10px;} -.st_boxlist ul li a{ color:#5d5d5d;} -.st_boxlist ul li a span{ color:#1c9ec7;} -.st_boxlist ul li a:hover span{ color:#ff8e15;} -.ml50{ margin-left:50px;} -.ml358{ margin-left:358px;} -.ml258{ margin-left:254px;} -.ml65{ margin-left:65px;} -a:hover.st_add{ color:#ff8e15;} -.classbox_on{ border:1px solid #f8df8c; background:#f6f098; padding:0 3px; float:left; margin-left:15px;} -.classbox_on a{ color:#716cad;} -/* 创建课程courses*/ -.courses_input{ border:1px solid #64bdd9; height:16px; width:532px; background:#fff; margin-bottom:10px; padding:5px;} -.courses_input_w{ width:300px;} -.courses_text{ border:1px solid #64bdd9; height:100px;width:532px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;} -.upimg{ border:1px solid #eaeaea; display:block; width:60px; height:60px; padding:1px;} -.upimg:hover{ border:1px solid #64bdd9; } -.upbtn{ margin:40px 0 0 15px; display:block; padding:2px 5px; border:1px solid #eaeaea;} -.upbtn:hover{border:1px solid #64bdd9; color:#64bdd9;cursor: pointer;} -.upload_file{margin-left: -60px;margin-top: 40px;width: 50px;position: absolute;height: 24px;opacity: 0;cursor: pointer} -/* 功能倒计时*/ -.w_img{ float:left; margin:10px 10px 15px 0px;} -.w_p{ float:left; color:#15bccf; font-size:16px; font-weight:bold; margin-top:70px; } -/* 新建项目弹框*/ -.table_left{ width:90px; text-align:right; color:#4c4c4c; font-weight:bold;} -/*上传资源弹出框样式*/ -.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;} -.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:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} -.r_txt_tit{width:500px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;} - -blockquote {background: #eeeeee;padding: 10px;margin-bottom: 10px;} -.respond-form{display: none;margin: auto;clear: both;} - -.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;} -.reply_btn:hover{ background:#999; color:#fff; } - -#attachments_fields input.description {margin-left: 4px;width: 100px;} -#attachments_fields span.ispublic-label {display: inline-block;width: 30px;margin-left: 10px;} -a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%;width: 1px;display: inline-block;padding-left: 16px;} -#attachments_fields input.filename {border: 0;height: 1.8em;width: 150px;color: #555;background-color: inherit;background: url(../images/attachment.png) no-repeat 1px 50%;padding-left: 18px;padding-top: 2px;} -span.add_attachment {font-size: 80%;line-height: 2.5em;} -#attachments_fields span {display: block;white-space: nowrap;} -.file_selector{position: relative;opacity: 0;filter: alpha(opacity:0);} -#attachments_fields .ajax-waiting input.filename {background:url(../images/hourglass.png) no-repeat 0px 50%;} -#attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;} -.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;} -.reply_btn:hover{ background:#999; color:#fff; } - -#attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; } -.ui-widget { - font-family: Verdana, sans-serif; - font-size: 1.1em; -} -.ui-widget-content { - border: 1px solid #ddd; - color: #333; -} -.ui-progressbar-value{margin:-1px;height:100%} -.ui-widget-header{border:1px solid #628db6;background:#759fcf url(jquery/images/ui-bg_gloss-wave_35_759fcf_500x100.png) 50% 50% repeat-x;color:#fff;font-weight:bold} -.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px} -.link_file{ background:url(../images/pic_file.png) 0 7px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; } -a:hover.link_file_board{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} -a.link_file_board{ background:url(../images/pic_file.png) 0 3px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; } - -#course_member_pagination_links{height: auto;float: left;} -#course_member_pagination_links li{margin-bottom: 5px;} - -/* colorbox -*******************************************************************************/ -/* - Colorbox Core Style: - The following CSS is consistent between example themes and should not be altered. -*/ -#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} -#cboxWrapper {max-width:none;} -#cboxOverlay{position:fixed; width:100%; height:100%;} -#cboxMiddleLeft, #cboxBottomLeft{clear:left;} -#cboxContent{position:relative;} -#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;} -#cboxTitle{margin:0;} -#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;} -#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} -.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;} -.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;} -#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;} - -/* - User Style: - Change the following styles to modify the appearance of Colorbox. They are - ordered & tabbed in a way that represents the nesting of the generated HTML. -*/ -#cboxOverlay{background:#fff;} -#colorbox{outline:0;} -#cboxTopLeft{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat 0 0;} -#cboxTopCenter{height:25px; background:url(../images/colorbox/border1.png) repeat-x 0 -50px;} -#cboxTopRight{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat -25px 0;} -#cboxBottomLeft{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat 0 -25px;} -#cboxBottomCenter{height:25px; background:url(../images/colorbox/border1.png) repeat-x 0 -75px;} -#cboxBottomRight{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat -25px -25px;} -#cboxMiddleLeft{width:25px; background:url(../images/colorbox/border2.png) repeat-y 0 0;} -#cboxMiddleRight{width:25px; background:url(../images/colorbox/border2.png) repeat-y -25px 0;} -#cboxContent{background:#fff; overflow:hidden;} -.cboxIframe{background:#fff;} -#cboxError{padding:50px; border:1px solid #ccc;} -#cboxLoadedContent{margin-bottom:20px;} -#cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;} -#cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;} -#cboxLoadingOverlay{background:#fff url(../images/colorbox/loading.gif) no-repeat 5px 5px;} - -/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */ -#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; } - -/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */ -#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;} - -#cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;} -#cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;} -#cboxNext{position:absolute; bottom:0px; left:63px; color:#444;} -#cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;} - -/* - The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill - when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9. - See: http://jacklmoore.com/notes/ie-transparency-problems/ -*/ -.cboxIE #cboxTopLeft, -.cboxIE #cboxTopCenter, -.cboxIE #cboxTopRight, -.cboxIE #cboxBottomLeft, -.cboxIE #cboxBottomCenter, -.cboxIE #cboxBottomRight, -.cboxIE #cboxMiddleLeft, -.cboxIE #cboxMiddleRight { - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); -} - - - - - - - - + +/*右侧内容--动态*/ +.project_r_h{ width:670px; height:40px; background:#eaeaea; margin-bottom:10px;} +.project_r_h02{ width:920px; height:40px; background:#eaeaea; margin-bottom:10px;} +.project_h2{ background:#64bdd9; color:#fff; height:33px; width:90px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;} +.project_r_box{ border:1px solid #e2e1e1; width:670px; margin-top:10px;} +.project_h3 { color:#646464; font-size:14px; padding:0 10px; border-bottom:1px solid #e2e1e1;} +.more{ float:right; font-size:12px; font-weight:normal; color:#a9a9a9; margin-top:3px;} +.more:hover{ color:#64bdd9;} +.project_box_ul{ padding:0 10px;} +.project_box_list{ padding:10px 0; border-bottom:1px dashed #e2e1e1; padding-left:30px; color:#6f6c6c;} +.img_problem{ background:url(../images/new_project/img_project.png) 0 -20px no-repeat;} +.img_talk{ background:url(../images/new_project/img_project.png) 0 -62px no-repeat;} +.img_ziyuan{ background:url(../images/new_project/img_project.png) 0 -115px no-repeat;} +.img_edition{ background:url(../images/new_project/img_project.png) 0 -167px no-repeat;} +a.project_name{ color:#058c42;} +a:hover.project_name{ color:#016f33;} +.project_txt{ color:#0781b4; width:445px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} +a.project_txt02{ color:#0781b4; width:618px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} +a:hover.project_txt{ color:#066e9a;} +.noline{ border-bottom:none;} +.news_description{max-height: 38px;overflow:hidden; } +.news_description_none{max-height: none;} +a.news_foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:600px; height:20px; padding-top:3px; cursor:pointer;} +a:hover.news_foot{ color:#787b7e; border:1px solid #d4d4d4;} + + +/*邮件邀请*/ +.box_main{ width:345px; margin:0 auto;} +.box_h3{ color:#15bccf; text-align:center; font-size:16px;} +.box_p{ color:#404040; margin-bottom:5px;} +.fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:10px; padding-left:5px; width:290px;} +/*.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;}*/ +/*.icon_addm:hover{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }*/ +/*.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}*/ +/*.icon_removem:hover{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}*/ +a.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;} +a:hover.btn_free{ background:#d63502;} +/*成员邀请*/ +.invi_search{ width:230px; margin:0 auto;} +.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;} +a.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;} +a:hover.invi_search_btn{ background:#0da1b2; border:1px solid #0da1b2;} +/*问题跟踪*/ +.problem_top{ margin:10px 0 ;} +.problem_search_input{ border:1px solid #64bdd9; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;} +a.problem_search_btn{ background:#64bdd9; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #64bdd9; padding-top:2px; cursor:pointer;} +a:hover.problem_search_btn{ background:#3da1c1; border:1px solid #3da1c1;} +a.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143; padding:1px 3px; font-size:12px; text-align:center; padding-top:2px;} +a:hover.problem_new_btn{ background:#ff7143; color:#fff;} +.problem_p{ color:#535252; margin-top:5px;} +.problem_p span{ color:#ff3e00;} +a.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3;} +a:hover.problem_pic{border:1px solid #64bdd9;} +.problem_txt{ width:610px; margin-left:10px; color:#777777;word-break: break-all;word-wrap: break-word;} +a.problem_name{ color:#ff5722;} +a:hover.problem_name{ color:#d33503;} +a.problem_tit{ color:#0781b4; width:430px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} +a:hover.problem_tit{ color:#09658c; } +.problem_main{ border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;} +/****翻页***/ +ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; } +ul.wlist li{float: left;} +ul.wlist li a{ border:1px solid #15bccf; padding: 1px 4px 1px 4px; margin-left:3px;} +ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;} +/*.wlist_select { background-color:#64bdd9; color:#fff; padding: 1px 5px 0px 5px; margin-left:3px;margin-top: -2px; border:1px solid #64bdd9;}*/ +.wlist_select a{background-color: #64bdd9;cursor: default;} +/****讨论区***/ +.talk_top{ margin:10px 0; font-size:14px; color:#4c4c4c;} +.talk_top span{ color:#ff7143;} +.talk_txt{ width:460px; margin-left:10px; color:#676868;} +.talk_up{ color:#f63c00;} +a.talk_pic{ display:block; width:32px; height:32px; padding:3px; border:1px solid #e3e3e3;} +a:hover.talk_pic{border:1px solid #64bdd9;} +a.talk_btn{ background:#64bdd9; width:50px; height:20px; color:#fff; text-align:center; margin-top:12px; padding-top:3px;} +a:hover.talk_btn{ background:#2a9dc1;} +/****讨论区内页***/ +.mt0{ margin-top:0px;} +.talk_info{ color:#7d7d7d; margin-left:60px; margin-top:10px;} +a.talk_edit{ color:#426e9a; margin-right:5px;} +a:hover.talk_edit{ color:#ff5722;} +.talk_reply { background:#eeeeee; padding:10px; margin-bottom:10px;} +.talkpage_text{ border:1px solid #64bdd9; width:600px; color:#7d7d7d; padding:5px; margin:10px 0 10px 50px; background:#fff;} +/****新建讨论***/ +.talk_new{ color:#4c4c4c;} +.talk_input{ border:1px solid #64bdd9; height:16px; width:585px; background:#fff; margin-bottom:10px; padding:5px;} +.talk_text{ border:1px solid #64bdd9; height:100px;width:585px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;} +.talk_new ul li{ } +.sb{width:70px; height:26px; color:#606060; cursor:pointer;} +a.blue_btn{ background:#64bdd9; display:block; font-size:14px;color:#fff; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;} +a:hover.blue_btn{ background:#329cbd;} +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:hover.grey_btn{ background:#717171; color:#fff;} +/****资源库***/ +.f_l{ float:left;} +.f_r{ float:right;} +.resource a{ text-align:center;} +.b_lblue{ background:#64bdd9;} +.b_dblue{ background:#55a1b9; cursor:pointer;} +.f_b{ font-weight: bold;} +.c_blue{ color:#64bdd9;} +.c_grey{ color:#999999;} +.c_grey02{ color:#666666;} +.f_14{ font-size:14px;} +.c_dblue{ color:#3e6d8e;} +.w90{width:90px;} +.w40{width:40px;} +.ml10{margin-left:10px;} +.resource{ width:670px;} +.re_top{width:660px; height:40px; background:#eaeaea; padding:5px;} +.re_top input{ float:left;} +.re_search{ margin-top:7px; margin-left:5px;} +.re_schbox{ width:240px; height:24px; border:1px solid #64bdd9; color:#666666;} +.re_schbtn{ width:60px; height:26px; color:#fff; margin-right:5px; border:none; margin-left:0px;padding-left: 0px;} +a.re_fabu { display:block; width:90px; height:30px; font-size:14px; color:#fff; text-align:center; padding-top:10px; } +a:hover.re_fabu{background:#55a1b9;} +.re_con{ margin:5px; width:665px;} +.re_con_top{color:#494949; } +.re_con_top span{ color:#999999; font-weight:bold;} +a.re_select{ display:block; height:20px; border:1px solid #ff9900; color:#ff9900; margin-left:10px; padding:2px 5px 1px;} +a:hover.re_select{ background:#ff9900; color:#fff; text-decoration:none;} +a.re_open{display:block; width:46px; height:19px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;padding-top:3px;} +a:hover.re_open{ background:#64bdd9; color:#fff; text-decoration:none;} +a.re_de{ color:#6883b6; margin-left:15px;} +.re_con_box{ border-bottom:1px dashed #dadada; padding-bottom:10px; margin-bottom:10px;} +/****资源库***/ +/*.setting{ background:url(../images/setting.jpg) 0 0 no-repeat; width:670px; height:443px;}*/ + +/* 作业列表 */ +.ttl{ } +.ctt{height:820px;clear:both; } +#contentbox{float:right;clear:both;width:670px;/*滑动门的宽度*/} +/* TAB 切换效果 */ +.tb_{ background-color: #eaeaea; height:40px; } +.tb_ ul{height:40px; } +.tb_ li{float:left;height:34px;width: 90px;cursor:pointer; font-size:14px; padding-top:6px; text-align:center; } +a.tb_all{ margin-left:212px; font-size:12px; display:block; height:23px; padding-top:4px; width:90px; color:#7a7a7a; border:1px solid #cbcbcb; background:#fff; text-align: center;} +a:hover.tb_all{ background:#eaeaea; text-decoration:none;} + +.work_tb_{ background-color: #eaeaea; height:40px; } +a.work_edit{color: #64bdd9; display:block; padding:1px 5px; border:1px solid #64bdd9;} +a:hover.work_edit{color: #fff; background: #64bdd9;} + +/* 控制显示与隐藏css类 */ +.normaltab { color:#64bdd9 ; } +.hovertab { color:#fff; background-color:#64bdd9; } +.normaltab a { color:#64bdd9 ; } +.hovertab a{color:#fff; background-color:#64bdd9; text-decoration:none;} +.dis{display:block; } +.undis{display:none;} +.c_red{ color:#de030d;} +.f_12{ font-size:12px;} +.w_40{ width:40px; border:1px solid red;} +.dis_ul{ height:70px; border-bottom:1px dashed #d4d4d4; margin-bottom:10px;} +.dis_ul li{ float:left;} +.dis_ul li a{ display:block; color:#15bccf; } +.pic_head{ width:44px; padding:0px 15px 0 0px;} +.pic_head a{ text-align:center; width:44px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} +.pic_head img{ border:1px solid #e3e3e3; width:40px; height:40px; padding:1px;} +.pic_head img:hover{border:1px solid #15bccf;} +.dis ul li.wname a{ width:260px; font-size:14px; color:#595959; padding:20px 0 0 0px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} +.dis ul li.wdown a{padding-top:22px; color:#3d7ec2; margin-right:35px;} +.wscore{ padding-top:22px; color:#888888; width:96px;} +.dis ul li.wping{margin-left:12px; } +.dis ul li.wping a{ margin-top:18px; margin-bottom:3px; width:43px; height:22px; background:#15bccf; color:#fff; text-align:center; padding-top:4px;} +.dis ul li.wping a:hover{ background-color:#03a1b3;} +.code_list{ float:right; font-size:12px; color:#484848; padding:5px 3px; border-bottom:2px solid #15bccf; width:665px; margin-bottom:10px;} +.code_list a{ color:#787878;} +.fr{ float:right;} +.c_grey{ color:#999; font-weight:normal;} +.dis ul li.wname02 a{ width:200px; font-size:14px; color:#595959; padding:20px 0 0 15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} +.dis ul li.wmine{ margin:12px 0 0 10px;} +.dis ul li.wmine a{ color:#3d7ec2; text-align:center; width:50px; font-weight: bold;} +.wzan{ margin:15px 0 0 25px; width:32px; height:44px;} +.wzan a{ display: block;} +a.wzan_img{background:url(images/pic_zan.png) 0 -59px no-repeat; display:block; height:31px; width:30px; color:#fff;} +a.wzan_visited{background:url(images/pic_zan.png) 0 0 no-repeat;} +.msg_box{ width:670px; height:173px; border-bottom:1px dashed #CCC; padding-top:10px;} +.msg_box h4{ } +.msg_box textarea{width:658px;height:90px;padding:5px;overflow:hidden;background-color: #ffffff; border:1px solid #CCC; margin:5px 0px; color:#666; font-size:12px; } +/*.msg_box a{ float:right; display:block; width:50px; height:22px; background:#15bccf; padding-top:3px; color:#fff; margin-left:10px; text-align:center; margin-top:5px; }*/ +/*.msg_box a:hover{ background-color:#03a1b3; text-decoration:none;}*/ + + +/****评分弹框****/ +/*#popbox{width:488px;height:550px;position:absolute;z-index:100;left:50%;top:40%;margin:-215px 0 0 -300px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; padding:5px; overflow:auto; }*/ +.alert .close{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-502px;background:url(images/close.png) no-repeat;cursor:pointer;} +.alert .C{width:476px;height:296px;position:absolute;left:5px;top:5px; } +.ping_con{ margin:5px; border-bottom:1px dashed #CCC; padding-bottom:5px;} +.ping_con ul{ height:30px;} +.ping_con ul li{ float:left; color:#656767; font-weight:bold;} +.ping_con h2{ font-size:14px; color:#444443; margin-bottom:10px; float:left;} +.ping_con p{ color:#777777; font-size:12px; border-bottom:1px dashed #CCC; padding-bottom:5px;} +.ping_con p span a{ color:#777777;} +.ping_star{ width:160px; color:#333; font-weight:bold; margin-bottom:5px;} +.ping_star span a{ float:right; width:20px; height:20px; background:url(images/star.png) -2px 0 no-repeat; margin-right:3px;} +.ping_star span a:hover{background:url(images/star.png) -24px 0 no-repeat;} +.ping_con textarea{ width:455px; height:76px; border:1px solid #15bccf; margin-bottom:5px; color:#666; font-size:12px;} +a.ping_sub{ float:right; height:22px; width:60px; background:#15bccf; color:#fff; text-align:center;} +a:hover.ping_sub{ background:#14a8b9;} +.recall{ border-top:1px solid #CCC; padding:5px 0;} +.recall_head{ float:left;} +.recall_head a{ display:block; width:30px; height:30px; border:1px solid #CCC; padding:1px;} +.recall_head a:hover{border:1px solid #15bccf;} +.recall_con{ float:left;color:#777777; width:520px; margin-left:10px;word-break: break-all;word-wrap: break-word; } +.recall_con a{ color:#15bccf; } +.ping_list{ margin-top:15px;} +.ping_ttl{height:18px;} +.ping_ctt{height:auto;padding:6px;clear:both;} +.ping_tb_{ border-bottom:3px solid #e4e4e4; text-align:center;} +.ping_tb_ ul{height:24px;} +.ping_tb_ li{float:left;height: 24px;width: auto; padding:0 10px;cursor:pointer;} +.ping_normaltab { color:#15bccf ; border-bottom:3px solid #e4e4e4;} +.ping_hovertab { color:#656767; font-weight:bold; border-bottom:3px solid #15bccf; } +.ping_dis{display:block; } +.ping_undis{display:none;} +.ping_C{border-bottom:1px dashed #CCC; padding:10px 0 0px;} +.ping_dispic a{ display:block; height:46px; width:46px; border:1px solid #CCC; padding:1px; float:left;} +.ping_dispic a:hover{border:1px solid #15bccf;} +.ping_discon{ float:left; width:610px; margin-left:10px; } +/*.ping_distop span{ float:left;}*/ +.ping_distop p{ color:#5f5f5f;word-break: break-all;word-wrap: break-word;} +.ping_disfoot a{ float:right; color: #6883b6; margin-left:5px; margin-bottom:5px;} +/*.ping_distop span a{ float:right; width:20px; height:20px; background:url(images/star.png) -24px 0 no-repeat; margin-right:3px;}*/ + +/* 创建作品 work */ +.Newwork{ width:668px; height:418px;} +.N_top{ float:right; margin-left:390px; } +.N_con{ color:#484747; font-weight:bold; width:660px; margin-top:10px; } +.N_con p{ } +.w430{ width:470px;} +.w557{ width:557px;} +.w350{ width:350px;} +.w620{ width:480px; height:160px; border:1px solid #CCC;} +.bo{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:470px; } +.bo02{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:480px; margin-left:2px; color: #999; } +.hwork_txt{ width:560px; padding-left:5px; background:#fff;} +a.tijiao{ height:28px; display:block; width:80px; color:#fff; background:#15bccf; text-align:center; padding-top:4px; float:left; margin-right:10px;} +a:hover.tijiao{ background:#0f99a9;} +.members_left{ float:left; width:410px; margin-right:20px; text-align:center;} +.members_left{} +.members_left ul li{ height:30px; border-bottom:1px solid #E4E4E4; width:410px; padding-top:10px; } +.members_left ul li a{ float:left; text-align:center;} +.members_left ul li span{ float:left; text-align:center; color:#484747;} + +.w150{ text-align:center; width:150px;} +.f_b{ font-weight: bold;} +.members_right label{ margin-left:15px;} +.N_search{ height:20px; border:1px solid #999;} +/* 创建作品 homework */ +.hwork_new{ color:#4c4c4c;} +.c_red{ color:#F00;} +.hwork_input{ border:1px solid #64bdd9; height:22px; width:555px; background:#fff; margin-bottom:10px; padding:5px;} +.hwork_input02{ border:1px solid #64bdd9; height:15px; width:120px; background:#fff; margin-bottom:10px; padding:5px;} +.hwork_text{ border:1px solid #64bdd9; height:100px;width:555px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;} +.hwork_new ul li{ } +.ml21{ margin-left:21px;} +.ml9{ margin-left:9px;} +.hwork_ttl{height:24px;} +.hwork_ctt{height:auto; padding-left:10px;clear:both;} +.hwork_tb_{ border-bottom:3px solid #e4e4e4; text-align:center;} +.hwork_tb_ ul{height:24px;} +.hwork_tb_ li{float:left;height: 24px;width: auto; padding:0 10px;cursor:pointer;} +.hwork_normaltab { color:#15bccf ; border-bottom:3px solid #e4e4e4; } +.hwork_hovertab { color:#656767; font-weight:bold; border-bottom:3px solid #15bccf; } +.hwork_dis{display:block; } +.hwork_undis{display:none;} +.project_none{ display:none;} +.about_project{ overflow:hidden;display:none;} +/*成员搜索*/ +.members_right{ float:left; margin-left:8px;} +.member_search{ width:220px; margin:0 auto;} +.member_search_input{ border:1px solid #15bccf; background:#fff; width:170px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;} +.member_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;} +.member_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;} +a.member_btn{ padding: 3px 5px; background:#15bccf; color:#fff;} +a:hover.member_btn{ background:#329cbd;} +.hol{display: none;} + +/* 新建项目 */ +.pro_new{ } +.pro_new ul li{ margin-bottom:5px; width:auto; padding:2px 5px;} + +/* 匿名评分弹框 */ +/*.popbox02{width:480px;height:200px;position:absolute;z-index:100;left:50%;top:50%;margin:-215px 0 0 -300px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; overflow:auto;}*/ +.alert .close02{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-490px;background:url(images/close.png) no-repeat;cursor:pointer;} +.ni_con { width:425px; margin:25px 30px;} +.ni_con h2{ display:block; height:40px; width:188px; margin:0 auto;} +.ni_con p{ color:#808181;} +.ni_con a:hover{ text-decoration:none;} +a.xls{ margin-left:5px; color:#136b3b;} +/* 学生列表*/ +.st_list{ width:670px;} +.st_search{ } +.st_search span{ font-size:14px; font-weight:bold; color:#606060; margin-right:35px;} +.st_search_input{ border:1px solid #1c9ec7; background:#fff; height:20px; color:#c4c4c4; width:200px; padding-left:5px; margin-bottom:5px;} +.st_search a{ background:#1c9ec7; color:#fff;border:1px solid #1c9ec7; text-align:center; display:block; width:60px; height:20px; float:left; font-size:12px; } +.st_search a:hover{ background:#048fbb; text-decoration:none;} +.classbox{ border:1px solid #f8df8c; background:#fffce6; color:#0d90c3; padding:0 3px; float:left; margin-left:15px;} +.st_addclass{ margin-top:5px;} +.st_addclass ul li,.st_addclass a,.st_addclass img{ float:left;} +.st_addclass img{ margin-top:3px;} +.st_addclass a{ color:#0d90c3;} +.st_box{ margin-top:10px; border-top:1px solid #CCC; padding-top:10px;} +.st_box ul li{ float:left;} +.st_box_top a{ font-weight:bold; color:#7a7a7a; float:left; margin-bottom:5px;} +.st_box_top a:hover{ color:#1c9ec7;} +a.st_up{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 0 no-repeat; margin-top:5px; margin-left:3px;} +a.st_down{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 -22px no-repeat; margin-top:5px; margin-left:3px;} +a.st_img { display:block;width:32px; height:32px; border:1px solid #CCC; padding:1px;} +a:hover.st_img { border:1px solid #1c9ec7; } +.st_boxlist{ border-bottom:1px dashed #CCC; height:43px; margin-bottom:10px; } +.st_boxlist a{ float:left;} +.st_boxlist ul{ float:left; width:200px; margin-left:10px;} +.st_boxlist ul li a{ color:#5d5d5d;} +.st_boxlist ul li a span{ color:#1c9ec7;} +.st_boxlist ul li a:hover span{ color:#ff8e15;} +.ml50{ margin-left:50px;} +.ml358{ margin-left:358px;} +.ml258{ margin-left:254px;} +.ml65{ margin-left:65px;} +a:hover.st_add{ color:#ff8e15;} +.classbox_on{ border:1px solid #f8df8c; background:#f6f098; padding:0 3px; float:left; margin-left:15px;} +.classbox_on a{ color:#716cad;} +/* 创建课程courses*/ +.courses_input{ border:1px solid #64bdd9; height:16px; width:532px; background:#fff; margin-bottom:10px; padding:5px;} +.courses_input_w{ width:300px;} +.courses_text{ border:1px solid #64bdd9; height:100px;width:532px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;} +.upimg{ border:1px solid #eaeaea; display:block; width:60px; height:60px; padding:1px;} +.upimg:hover{ border:1px solid #64bdd9; } +.upbtn{ margin:40px 0 0 15px; display:block; padding:2px 5px; border:1px solid #eaeaea;} +.upbtn:hover{border:1px solid #64bdd9; color:#64bdd9;cursor: pointer;} +.upload_file{margin-left: -60px;margin-top: 40px;width: 50px;position: absolute;height: 24px;opacity: 0;cursor: pointer} +/* 功能倒计时*/ +.w_img{ float:left; margin:10px 10px 15px 0px;} +.w_p{ float:left; color:#15bccf; font-size:16px; font-weight:bold; margin-top:70px; } +/* 新建项目弹框*/ +.table_left{ width:90px; text-align:right; color:#4c4c4c; font-weight:bold;} +/*上传资源弹出框样式*/ +.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;} +.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:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} +.r_txt_tit{width:500px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;} + +blockquote {background: #eeeeee;padding: 10px;margin-bottom: 10px;} +.respond-form{display: none;margin: auto;clear: both;} + +.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;} +.reply_btn:hover{ background:#999; color:#fff; } + +#attachments_fields input.description {margin-left: 4px;width: 100px;} +#attachments_fields span.ispublic-label {display: inline-block;width: 30px;margin-left: 10px;} +a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%;width: 1px;display: inline-block;padding-left: 16px;} +#attachments_fields input.filename {border: 0;height: 1.8em;width: 150px;color: #555;background-color: inherit;background: url(../images/attachment.png) no-repeat 1px 50%;padding-left: 18px;padding-top: 2px;} +span.add_attachment {font-size: 80%;line-height: 2.5em;} +#attachments_fields span {display: block;white-space: nowrap;} +.file_selector{position: relative;opacity: 0;filter: alpha(opacity:0);} +#attachments_fields .ajax-waiting input.filename {background:url(../images/hourglass.png) no-repeat 0px 50%;} +#attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;} +.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;} +.reply_btn:hover{ background:#999; color:#fff; } + +#attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; } +.ui-widget { + font-family: Verdana, sans-serif; + font-size: 1.1em; +} +.ui-widget-content { + border: 1px solid #ddd; + color: #333; +} +.ui-progressbar-value{margin:-1px;height:100%} +.ui-widget-header{border:1px solid #628db6;background:#759fcf url(jquery/images/ui-bg_gloss-wave_35_759fcf_500x100.png) 50% 50% repeat-x;color:#fff;font-weight:bold} +.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px} +.link_file{ background:url(../images/pic_file.png) 0 7px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; } +a:hover.link_file_board{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} +a.link_file_board{ background:url(../images/pic_file.png) 0 3px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; } + +#course_member_pagination_links{height: auto;float: left;} +#course_member_pagination_links li{margin-bottom: 5px;} + +/* colorbox +*******************************************************************************/ +/* + Colorbox Core Style: + The following CSS is consistent between example themes and should not be altered. +*/ +#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} +#cboxWrapper {max-width:none;} +#cboxOverlay{position:fixed; width:100%; height:100%;} +#cboxMiddleLeft, #cboxBottomLeft{clear:left;} +#cboxContent{position:relative;} +#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;} +#cboxTitle{margin:0;} +#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;} +#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} +.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;} +.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;} +#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;} + +/* + User Style: + Change the following styles to modify the appearance of Colorbox. They are + ordered & tabbed in a way that represents the nesting of the generated HTML. +*/ +#cboxOverlay{background:#fff;} +#colorbox{outline:0;} +#cboxTopLeft{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat 0 0;} +#cboxTopCenter{height:25px; background:url(../images/colorbox/border1.png) repeat-x 0 -50px;} +#cboxTopRight{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat -25px 0;} +#cboxBottomLeft{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat 0 -25px;} +#cboxBottomCenter{height:25px; background:url(../images/colorbox/border1.png) repeat-x 0 -75px;} +#cboxBottomRight{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat -25px -25px;} +#cboxMiddleLeft{width:25px; background:url(../images/colorbox/border2.png) repeat-y 0 0;} +#cboxMiddleRight{width:25px; background:url(../images/colorbox/border2.png) repeat-y -25px 0;} +#cboxContent{background:#fff; overflow:hidden;} +.cboxIframe{background:#fff;} +#cboxError{padding:50px; border:1px solid #ccc;} +#cboxLoadedContent{margin-bottom:20px;} +#cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;} +#cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;} +#cboxLoadingOverlay{background:#fff url(../images/colorbox/loading.gif) no-repeat 5px 5px;} + +/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */ +#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; } + +/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */ +#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;} + +#cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;} +#cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;} +#cboxNext{position:absolute; bottom:0px; left:63px; color:#444;} +#cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;} + +/* + The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill + when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9. + See: http://jacklmoore.com/notes/ie-transparency-problems/ +*/ +.cboxIE #cboxTopLeft, +.cboxIE #cboxTopCenter, +.cboxIE #cboxTopRight, +.cboxIE #cboxBottomLeft, +.cboxIE #cboxBottomCenter, +.cboxIE #cboxBottomRight, +.cboxIE #cboxMiddleLeft, +.cboxIE #cboxMiddleRight { + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); +} + + + + + + + + diff --git a/public/stylesheets/pleft.css b/public/stylesheets/pleft.css new file mode 100644 index 000000000..54330ebae --- /dev/null +++ b/public/stylesheets/pleft.css @@ -0,0 +1,63 @@ +.topbar_info02{ margin:5px 10px;width:480px; } +.topbar_info02 p{color: #7f7f7f;} +.search{ margin-top:8px; margin-left:71px;} +/*信息*/ +.project_info{ background:#fff; padding:10px; padding-right:0px;width:222px; padding-right:8px; margin-bottom:10px;} +.pr_info_id{ width:137px; color:#5a5a5a; font-size:14px; margin-top:5px;} +.pr_info_logo{ border:1px solid #eaeaea; width:60px; height:60px; padding:1px;} +.pr_info_logo:hover{ border:1px solid #64bdd9; } +.pr_info_join{} +a.pr_join_a{ color:#fff; display:block; padding:0 5px 0 3px; padding-top:2px; height:20px; margin-right:5px; float:left; text-align:center; background-color:#64bdd9; float:left; } +a:hover.pr_join_a{ background:#41a8c8;} +.pr_join_span{color: #fff; display:block; padding:0 5px; padding-top:2px; height:20px; margin-right:5px; float:left; text-align:center; background: #CCC;} +.pr_setting{ display:block; background:url(../images/leftside.png) -1px 0 no-repeat; width:11px; height:11px; margin-top:3px; float:left; } +.pr_copy{ display:block; background:url(../images/leftside.png) -1px -23px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } +.pr_close{ display:block; background:url(../images/leftside.png) -1px -49px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } +.pr_add{display:block; background:url(../images/leftside.png) 0px -71px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } +.pr_arrow{display:block; background:url(../images/leftside.png) 0px -90px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } +.pr_info_name{ color:#3e4040; font-size:14px; line-height:1.5;} +.pr_info_name:hover{ color:#3ca5c6;} +.pr_info_score{ font-size:14px; color:#3e4040; } +.pr_info_score a{ color:#ff7143;} +.pr_info_score a:hover{ color:#64bdd9;} +.img_private{ background:url(../images/new_project/img_project.png) 0 0 no-repeat; width:33px; height:16px; color:#fff; font-size:12px; padding-left:7px; } +.info_foot_num{ color:#3ca5c6; } +.pr_info_foot{ color:#7f7f7f; margin-top:5px; } +.info_foot_num:hover{ color:#2390b2;} +.info_box{background:#fff; padding:10px;width:220px; } +.info_box ul li{ font-size:12px; color: #3e4040; line-height:1.7;} + +/*左侧导航*/ +.subNavBox{width:240px; background:#fff;margin:10px 10px 0 0;} +.subNav{border-bottom:solid 1px #e5e3da;cursor:pointer;font-weight:bold;font-size:14px;color:#3ca5c6; height:26px;padding-left:10px;background-color:#fff; padding-top:2px;} +a.subNav_jiantou{background:url(../images/jiantou1.jpg) no-repeat;background-position:95% 50%; background-color:#fff;} +a:hover.subNav_jiantou:hover{color:#0781b4; } +.currentDd{color:#0781b4; } +.currentDt{background-color:#fff; } +.navContent{display: none;border-bottom:solid 1px #e5e3da; } +.navContent li a{display:block;width:240px;heigh:28px;text-align:center;font-size:12px;line-height:28px;color:#333} +.navContent li a:hover{color:#fff;background-color:#b3e0ee} +a.subnav_num{ font-weight:normal; color:#ff7143; font-size:12px;} +a.subnav_green{ background:#28be6c; color:#fff; font-size:12px; font-weight:normal;height:18px; padding:0px 5px; padding-top:2px; display:block; margin-top:2px; margin-bottom:5px; float:right; margin-right:5px;} +a:hover.subnav_green{ background:#14ad5a;} + + +/*简介*/ +.project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d; line-height:1.9;} +.course_description{max-height: 112px;overflow:hidden; word-break: break-all;word-wrap: break-word;} +.course_description_none{max-height: none;} +.lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;} +.lg-foot:hover{ color:#787b7e; border:1px solid #d4d4d4;} +/****标签(和资源库的tag样式一致)***/ +.project_Label{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; margin-bottom:10px;} +a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;} +.submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat 0 0;width:42px; margin-top:2px; margin-left:3px; } +.isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;} +.re_tag{ width: auto; padding:0 5px; padding-top:2px; height:20px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; } +.re_tag a{ color:#0d90c3;} +.tag_h{ } +.tag_h span,.tag_h a{ margin-bottom:5px;} + + + + diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index 2f249f4aa..4d684f145 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -1,72 +1,17 @@ -@charset "utf-8"; -/* CSS Document */ -body{ font-size:12px; font-family:"微软雅黑","宋体"; line-height:1.9; background:#eaebec; font-style:normal;} -div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span,ol{ margin:0; padding:0;} -div,img,tr,td,table{ border:0;} -table,tr,td{border:0;cellspacing:0; cellpadding:0;} -ol,ul,li{ list-style-type:none} -.cl{ clear:both; overflow:hidden; } -a{ text-decoration:none; cursor:pointer;} -.ml10{ margin-left:10px;} -.ml20{ margin-left:20px;} -.mr10{ margin-right:10px;} -.mb5{ margin-bottom:5px;} -.mb10{ margin-bottom:10px;} -.fl{ float: left;} -.fr{ float:right;} -.project_h4{ font-size:14px; color:#3b3b3b;} - +.project_h4{ font-size:14px; color:#3b3b3b;} .project_content{ width:940px; margin:10px auto;} .project_left{ float:left;} .project_right{ width:670px; float:left;background:#fff; padding:10px;} -/*项目信息*/ -.project_info{ background:#fff; padding:10px;width:222px; padding-right:8px;} -.pr_info_id{ width:137px; color:#5a5a5a; font-size:14px;} -.pr_info_join{} -.pr_info_join a{ color:#fff; display:block; padding:0 5px; margin-right:10px; float:left; height:22px; background:#64bdd9; text-align:center; } -.pr_info_join a:hover{ background:#41a8c8;} -a.pr_info_name{ color:#3e4040; font-size:14px; line-height:1.5;} -a:hover.pr_info_name{ color:#3ca5c6;} -.pr_info_score{ font-size:14px; color:#3e4040; } -.pr_info_score a{ color:#ff7143;} -.pr_info_score a:hover{ color:#64bdd9;} -.img_private{ background:url(../images/img_project.png) 0 0 no-repeat; width:32px; height:16px; color:#fff; font-size:12px; padding-left:7px; } -a.info_foot_num{ font-weight: bold; color:#3ca5c6; } -.pr_info_foot{ color:#7f7f7f; margin-top:5px; } -a:hover.info_foot_num{ color:#2390b2;} - -/*左侧导航*/ -.subNavBox{width:240px; background:#fff;margin:10px 10px 0 0;} -.subNav{border-bottom:solid 1px #e5e3da;cursor:pointer;font-weight:bold;font-size:14px;color:#3ca5c6;line-height:28px;padding-left:10px;background-color:#fff;} -.subNav_jiantou{background:url(../images/jiantou1.jpg) no-repeat;background-position:95% 50%; background-color:#fff;} -.subNav_jiantou:hover{color:#0781b4; } -.currentDd{color:#0781b4; } -.currentDt{background-color:#fff; } -.navContent{display: none;border-bottom:solid 1px #e5e3da; } -.navContent li a{display:block;width:240px;heigh:28px;text-align:center;font-size:12px;line-height:28px;color:#333} -.navContent li a:hover{color:#fff;background-color:#b3e0ee} -.subnav_num{ font-weight:normal; color:#ff7143; font-size:12px;} -a.subnav_green{ background:#28be6c; color:#fff; font-size:12px; font-weight:normal;height:20px; padding:0px 5px; text-align:center; margin-top:5px; margin-left:82px;} -a.ml95{ margin-left:97px;} -a.ml105{ margin-left:120px;} -a:hover.subnav_green{ background:#14ad5a;} /*简介*/ .project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d;} -.lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;} -.lg-foot:hover{ color:#787b7e;} -/****标签(和资源库的tag样式一致)***/ -.project_Label{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px;} -a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;} -.submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat 0 0;width:42px; margin-top:2px; margin-left:3px; } -.isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;} -.re_tag{ width: auto; padding:0 5px; height:22px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; } -.re_tag a{ color:#0d90c3;} -.tag_h span,.tag_h a{ margin-bottom:5px;} +a.lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;} +a:hover.lg-foot{ color:#787b7e;} + /*右侧内容--动态*/ -.project_r_h{ width:670px; height:40px; background:#eaeaea;} -.project_h2{ background:#64bdd9; color:#fff; height:37px; width:90px; text-align:center; font-weight:normal; padding-top:3px; font-size:16px;} +.project_r_h{ width:670px; height:40px; background:#eaeaea; margin-bottom:10px;} +.project_h2{ background:#64bdd9; color:#fff; height:33px; width:90px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;} .project_r_box{ border:1px solid #e2e1e1; width:670px; margin-top:10px;} .project_h3 { color:#646464; font-size:14px; padding:0 10px; border-bottom:1px solid #e2e1e1;} a.more{ float:right; font-size:12px; font-weight:normal; color:#a9a9a9; margin-top:3px;} @@ -77,78 +22,95 @@ a:hover.more{ color:#64bdd9;} .img_talk{ background:url(../images/img_project.png) 0 -62px no-repeat;} .img_ziyuan{ background:url(../images/img_project.png) 0 -115px no-repeat;} .img_edition{ background:url(../images/img_project.png) 0 -167px no-repeat;} -.project_name{ color:#058c42;} -.project_name:hover{ color:#016f33;} -.project_txt{ color:#0781b4; width:445px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} -.project_txt02{ color:#0781b4; width:618px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} -.project_txt:hover{ color:#066e9a;} +a.project_name{ color:#058c42;} +a:hover.project_name{ color:#016f33;} +a.project_txt{ color:#0781b4; width:445px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} +a.project_txt02{ color:#0781b4; width:618px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} +a:hover.project_txt{ color:#066e9a;} .noline{ border-bottom:none;} /*弹框*/ .floatbox{ width:420px; border:3px solid #15bccf; background:#fff; padding:5px;} -.box_close{ display:block; float:right; width:16px; height:16px; background:url(../images/img_floatbox.png) 0 0 no-repeat;} -.box_close:hover{background:url(../images/img_floatbox.png) -22px 0 no-repeat;} +a.box_close{ display:block; float:right; width:16px; height:16px; background:url(../images/img_floatbox.png) 0 0 no-repeat;} +a:hover.box_close{background:url(../images/img_floatbox.png) -22px 0 no-repeat;} /*邮件邀请*/ .box_main{ width:345px; margin:0 auto;} +.box_main02{ width:390px; margin:15px auto;} .box_h3{ color:#15bccf; text-align:center; font-size:16px;} .box_p{ color:#404040; margin-bottom:5px;} .fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:10px; padding-left:5px; width:290px;} -.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;} -.icon_addm:hover{background:url(../images/img_floatbox.png) 0 -61px no-repeat; } -.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px} -.icon_removem:hover{background:url(../images/img_floatbox.png) -22px -61px no-repeat;} -.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;} -.btn_free:hover{ background:#d63502;} +a.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;} +a:hover.icon_addm{background:url(../images/img_floatbox.png) 0 -61px no-repeat; } +a.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px} +a:hover.icon_removem{background:url(../images/img_floatbox.png) -22px -61px no-repeat;} +a.btn_free{ background:#ff5722; display:block; text-align:center; color:#fff; padding:3px 0; width:80px; margin-bottom:10px;} +a:hover.btn_free{ background:#d63502;} /*成员邀请*/ -.invi_search{ width:230px; margin:0 auto;} +.invi_search{ margin-left:50px;} .invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;} -.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;} -.invi_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;} +a.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;} +a:hover.invi_search_btn{ background:#0da1b2; border:1px solid #0da1b2;} +.rolebox{ margin:10px 0;} /*问题跟踪*/ .problem_top{ margin:10px 0 ;} .problem_search_input{ border:1px solid #64bdd9; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;} -.problem_search_btn{ background:#64bdd9; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #64bdd9; padding-top:2px; cursor:pointer;} -.problem_search_btn:hover{ background:#3da1c1; border:1px solid #3da1c1;} -.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143; width:60px; height:22px; font-size:12px; text-align:center; padding-top:2px;} -.problem_new_btn:hover{ background:#ff7143; color:#fff;} +a.problem_search_btn{ background:#64bdd9; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #64bdd9; padding-top:2px; cursor:pointer;} +a:hover.problem_search_btn{ background:#3da1c1; border:1px solid #3da1c1;} +a.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143; padding:1px 3px; font-size:12px; text-align:center; padding-top:2px;} +a:hover.problem_new_btn{ background:#ff7143; color:#fff;} .problem_p{ color:#535252; margin-top:5px;} .problem_p span{ color:#ff3e00;} -.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3; margin-top:5px;} -.problem_pic:hover{border:1px solid #64bdd9;} +a.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3; margin-top:5px;} +a:hover.problem_pic{border:1px solid #64bdd9;} .problem_txt{ width:610px; margin-left:10px; color:#777777;} -.problem_name{ color:#ff5722;} -.problem_name:hover{ color:#d33503;} -.problem_tit{ color:#0781b4; width:430px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} -.problem_tit:hover{ color:#09658c; } +a.problem_name{ color:#ff5722;} +a:hover.problem_name{ color:#d33503;} +a.problem_tit{ color:#0781b4; width:430px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} +a:hover.problem_tit{ color:#09658c; } .problem_main{ border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;} /****翻页***/ -.wlist{} -.wlist a{ float:right; border:1px solid #64bdd9; padding:0 5px; margin-left:3px; color:#64bdd9;} -.wlist a:hover{border:1px solid #64bdd9; background-color:#64bdd9; color:#fff; text-decoration:none;} -.wlist_select a { background-color:#48aac9; color:#fff;} +ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; } +ul.wlist li{float: left;} +ul.wlist li a{ border:1px solid #15bccf; padding: 1px 4px 1px 4px; margin-left:3px;} +ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;} +/*.wlist_select { background-color:#64bdd9; color:#fff; padding: 1px 5px 0px 5px; margin-left:3px;margin-top: -2px; border:1px solid #64bdd9;}*/ +.wlist_select a{background-color: #64bdd9;cursor: default;} /****讨论区***/ .talk_top{ margin:10px 0; font-size:14px; color:#4c4c4c;} .talk_top span{ color:#ff7143;} .talk_txt{ width:460px; margin-left:10px; color:#676868;} .talk_up{ color:#f63c00;} -.talk_pic{width:32px; height:32px; padding:2px;} -.talk_btn{ background:#64bdd9; width:50px; height:22px; color:#fff; text-align:center; margin-top:12px; padding-top:2px;} -.talk_btn:hover{ background:#2a9dc1;} +a.talk_pic{ display:block; width:32px; height:32px; padding:3px; border:1px solid #e3e3e3;} +a:hover.talk_pic{border:1px solid #64bdd9;} +a.talk_btn{ background:#64bdd9; width:50px; height:20px; color:#fff; text-align:center; margin-top:12px; padding-top:3px;} +a:hover.talk_btn{ background:#2a9dc1;} /****讨论区内页***/ .mt0{ margin-top:0px;} -.talk_info{ color:#7d7d7d; margin-left:50px; margin-top:10px;} -.talk_edit{ color:#426e9a; margin-right:5px;} -.talk_edit:hover{ color:#ff5722;} +.talk_info{ color:#7d7d7d; margin-left:60px; margin-top:10px;} +a.talk_edit{ color:#426e9a; margin-right:5px;} +a:hover.talk_edit{ color:#ff5722;} .talk_reply { background:#eeeeee; padding:10px; margin-bottom:10px;} -.talk_text{ border:1px solid #64bdd9; width:600px; color:#7d7d7d; padding:5px; margin:10px 0 10px 50px;} +.talkpage_text{ border:1px solid #64bdd9; width:600px; color:#7d7d7d; padding:5px; margin:10px 0 10px 50px; background:#fff;} +/*.ping_dispic a{ display:block; height:46px; width:46px; border:1px solid #CCC; padding:1px; float:left;}*/ +/*.ping_dispic a:hover{border:1px solid #15bccf;}*/ +/****新建讨论***/ +.talk_new{ color:#4c4c4c;} +.talk_input{ border:1px solid #64bdd9; height:16px; width:585px; background:#fff; margin-bottom:10px; padding:5px;} +.talk_text{ border:1px solid #64bdd9; height:100px;width:585px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;} +.talk_new ul li{ } +.sb{width:70px; height:26px; color:#606060; cursor:pointer;} +a.blue_btn{ background:#64bdd9; display:block; font-size:14px;color:#fff; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;} +a:hover.blue_btn{ background:#329cbd;} +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:hover.grey_btn{ background:#717171; color:#fff;} /****资源库***/ -.f_l{ float:left;} -.f_r{ float:right;} .resource a{ text-align:center;} .b_lblue{ background:#64bdd9;} .b_dblue{ background:#55a1b9; cursor:pointer;} .f_b{ font-weight: bold;} .c_blue{ color:#64bdd9;} +a.c_dblue{ color: #3ca5c6;} +a:hover.c_dblue{ color: #0781b4;} .c_grey{ color:#999999;} .c_grey02{ color:#666666;} .f_14{ font-size:14px;} @@ -166,17 +128,118 @@ a:hover.re_fabu{background:#55a1b9;} .re_con{ margin:5px; width:665px;} .re_con_top{color:#494949; } .re_con_top span{ color:#999999; font-weight:bold;} -a.re_select{ display:block; width:88px; height:22px; border:1px solid #ff9900; color:#ff9900; margin-left:10px;} +a.re_select{ display:block; padding:2px 10px; border:1px solid #ff9900; color:#ff9900; margin-left:10px;} a:hover.re_select{ background:#ff9900; color:#fff; text-decoration:none;} -.re_open{display:block; width:46px; height:22px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;} +a.re_open{display:block; padding:2px 10px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;} a:hover.re_open{ background:#64bdd9; color:#fff; text-decoration:none;} a.re_de{ color:#6883b6; margin-left:15px;} .re_con_box{ border-bottom:1px dashed #dadada; padding-bottom:10px; margin-bottom:10px;} -/****资源库***/ -.setting{ background:url(../images/setting.jpg) 0 0 no-repeat; width:670px; height:443px;} +.upload_con { } +.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; height:80px;} +a.upload_btn02{ display:block; float:left; margin-top:15px; width:80px; height:30px; text-align: center; color:#fff; font-size:14px; background:#15bccf; margin-right:15px;} +a:hover.upload_btn02{ background:#55a1b9;} +a.upload_btn_grey{background:#a3a3a3;} +a:hover.upload_btn_grey{background:#8a8a8a;} +.upload_btn{width:80px; height:26px;} +.upload_check{ margin-top:4px;} + +a.link_file{ background:url(../images/courses/pic_file.png) 0 2px no-repeat; padding-left:20px; color:#64bdd9; } +a:hover.link_file{ background:url(../images/courses/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} +.r_txt_tit{width:510px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;} +/* 新建问题 */ +.newpro_box{ color:#6d6d6d;} +.newpro_box02{ color:#6d6d6d; margin-left:30px; margin-bottom:10px; } +.newpro_box ul li{ } +.newpro_box input{ height:26px; float:left; margin-bottom:10px;} +.newpro_box textarea{ height:150px; float:left; margin-bottom:10px;} +.newpro_box select{ height:26px; float:left; margin-bottom:10px;} +.label{ width:80px; text-align:right; font-size:14px; display:block; float:left;} +.label02{ width:110px; text-align:right; font-size:14px; display:block; float:left;} +.collapsible{ border-left:none;border-right:none;border-bottom:none; border-top:1px solid #e4e4e4; padding-left:30px; padding-top:10px; } + +/* 弹框 新样式还没设计出来,暂时用的课程那边的样式 */ +.alert .close{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-502px;background:url(images/close.png) no-repeat;cursor:pointer;} +.alert .C{width:476px;height:296px;position:absolute;left:5px;top:5px; } +.ping_con{ margin:5px; border-bottom:1px dashed #CCC; padding-bottom:5px;} +.ping_con ul{ height:30px;} +.ping_con ul li{ float:left; color:#656767; font-weight:bold;} +.ping_con h2{ font-size:14px; color:#444443; margin-bottom:10px; float:left;} +.ping_con p{ color:#777777; font-size:12px; border-bottom:1px dashed #CCC; padding-bottom:5px;} +.ping_con p span a{ color:#777777;} +.ping_star{ width:160px; color:#333; font-weight:bold; margin-bottom:5px;} +.ping_star span a{ float:right; width:20px; height:20px; background:url(images/star.png) -2px 0 no-repeat; margin-right:3px;} +.ping_star span a:hover{background:url(images/star.png) -24px 0 no-repeat;} +.ping_con textarea{ width:455px; height:76px; border:1px solid #15bccf; margin-bottom:5px; color:#666; font-size:12px;} +a.ping_sub{ float:right; height:22px; width:60px; background:#15bccf; color:#fff; text-align:center;} +a:hover.ping_sub{ background:#14a8b9;} +.recall{ border-top:1px solid #CCC; padding:5px 0;} +.recall_head{ float:left;} +.recall_head a{ display:block; width:30px; height:30px; border:1px solid #CCC; padding:1px;} +.recall_head a:hover{border:1px solid #15bccf;} +.recall_con{ float:left;color:#777777; width:520px; margin-left:10px;word-break: break-all;word-wrap: break-word; } +.recall_con a{ color:#15bccf; } +.ping_list{ margin-top:15px;} +.ping_ttl{height:18px;} +.ping_ctt{height:auto;padding:6px;clear:both;} +.ping_tb_{ border-bottom:3px solid #e4e4e4; text-align:center;} +.ping_tb_ ul{height:24px;} +.ping_tb_ li{float:left;height: 24px;width: auto; padding:0 10px;cursor:pointer;} +.ping_normaltab { color:#15bccf ; border-bottom:3px solid #e4e4e4;} +.ping_hovertab { color:#656767; font-weight:bold; border-bottom:3px solid #15bccf; } +.ping_dis{display:block; } +.ping_undis{display:none;} +.ping_C{border-bottom:1px dashed #CCC; padding:10px 0 0px;} +.ping_dispic a{ display:block; height:46px; width:46px; border:1px solid #CCC; padding:1px; float:left;} +.ping_dispic a:hover{border:1px solid #15bccf;} +.ping_discon{ float:left; width:610px; margin-left:10px; } +/*.ping_distop span{ float:left;}*/ +.ping_distop p{ color:#5f5f5f;word-break: break-all;word-wrap: break-word;} +.ping_disfoot a{ float:right; color: #6883b6; margin-left:5px; margin-bottom:5px;} +/*.ping_distop span a{ float:right; width:20px; height:20px; background:url(images/star.png) -24px 0 no-repeat; margin-right:3px;}*/ + +/*上传资源弹出框样式*/ +.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;} +.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:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} +.r_txt_tit{width:500px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;} +blockquote {background: #eeeeee;padding: 10px;margin-bottom: 10px;} +.respond-form{display: none;margin: auto;clear: both;} +.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;} +.reply_btn:hover{ background:#999; color:#fff; } +#attachments_fields input.description {margin-left: 4px;width: 100px;} +#attachments_fields span.ispublic-label {display: inline-block;width: 30px;margin-left: 10px;} +a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%;width: 1px;display: inline-block;padding-left: 16px;} +#attachments_fields input.filename {border: 0;height: 1.8em;width: 150px;color: #555;background-color: inherit;background: url(../images/attachment.png) no-repeat 1px 50%;padding-left: 18px;padding-top: 2px;} +span.add_attachment {font-size: 80%;line-height: 2.5em;} +#attachments_fields span {display: block;white-space: nowrap;} +.file_selector{position: relative;opacity: 0;filter: alpha(opacity:0);} +#attachments_fields .ajax-waiting input.filename {background:url(../images/hourglass.png) no-repeat 0px 50%;} +#attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;} +.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;} +.reply_btn:hover{ background:#999; color:#fff; } +#attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; } +.ui-widget { + font-family: Verdana, sans-serif; + font-size: 1.1em; +} +.ui-widget-content { + border: 1px solid #ddd; + color: #333; +} +.ui-progressbar-value{margin:-1px;height:100%} +.ui-widget-header{border:1px solid #628db6;background:#759fcf url(jquery/images/ui-bg_gloss-wave_35_759fcf_500x100.png) 50% 50% repeat-x;color:#fff;font-weight:bold} +.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px} +.link_file{ background:url(../images/pic_file.png) 0 7px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; } +a:hover.link_file_board{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} +a.link_file_board{ background:url(../images/pic_file.png) 0 3px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; } +#course_member_pagination_links{height: auto;float: left;} +#course_member_pagination_links li{margin-bottom: 5px;}