diff --git a/app/controllers/boards_controller.rb b/app/controllers/boards_controller.rb index 1d7e94c06..9a72bb4df 100644 --- a/app/controllers/boards_controller.rb +++ b/app/controllers/boards_controller.rb @@ -125,7 +125,7 @@ class BoardsController < ApplicationController if @order.to_i == 2 @type = 2 @topics.each do |topic| - topic[:infocount] = get_praise_num(topic) + (topic.parent ? x.parent.children.count : topic.children.count) + topic[:infocount] = get_praise_num(topic) + (topic.parent ? topic.parent.children.count : topic.children.count) if topic[:infocount] < 0 topic[:infocount] = 0 end diff --git a/app/controllers/news_controller.rb b/app/controllers/news_controller.rb index d35d7ac63..76b229dbf 100644 --- a/app/controllers/news_controller.rb +++ b/app/controllers/news_controller.rb @@ -83,6 +83,8 @@ class NewsController < ApplicationController sort_type = @b_sort == 1 ? "asc" : "desc" + #scope = News.find_by_sql("select a.*,b.updated_at from news a, course_activities b where a.course_id = 532 and a.course_id = b.course_id and b.course_act_id = a.id ) ") + scope = @course ? @course.news.course_visible : News.course_visible news_arr = scope.map{|news| news.id} @@ -101,7 +103,8 @@ class NewsController < ApplicationController end scope_order.each do |topic| - topic[:updated_at] = CourseActivity.where("course_act_type='#{topic.class}' and course_act_id =#{topic.id}").first.updated_at + topic[:updated_at] = topic.course_acts.first.updated_at + #topic[:updated_at] = CourseActivity.where("course_act_type='#{topic.class}' and course_act_id =#{topic.id}").first.updated_at end #根据 赞+回复数排序 diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index f8bf70933..e2b38bcb1 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -2945,11 +2945,10 @@ class UsersController < ApplicationController @c_sort = 2 end - sort_name = "created_at" + sort_name = "updated_at" sort_type = @c_sort == 1 ? "asc" : "desc" - @courses = @user.courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(created_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a #{sort_type}") - + @courses = @user.courses.visible.where("is_delete =?", 0).order("#{sort_name} #{sort_type}") #根据 作业+资源数排序 if @order.to_i == 2 @type = 2 @@ -2989,10 +2988,11 @@ class UsersController < ApplicationController @c_sort = 2 end - sort_name = "created_on" + sort_name = "updated_on" sort_type = @c_sort == 1 ? "asc" : "desc" - @projects = @user.projects.visible.select("projects.*, (SELECT MAX(created_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a #{sort_type}") + @projects = @user.projects.visible.order("#{sort_name} #{sort_type}") + # @projects = @user.projects.visible.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a #{sort_type}") #根据 问题+资源数排序 @project.project_score.issue_num @project.project_score.attach_num if @order.to_i == 2 diff --git a/app/views/blogs/_article.html.erb b/app/views/blogs/_article.html.erb index 7a1dc636c..f0b082860 100644 --- a/app/views/blogs/_article.html.erb +++ b/app/views/blogs/_article.html.erb @@ -16,6 +16,7 @@
+ <% if topics.any? %> <% topics.each do |activity| %>
+ <% else %> +

<%= l(:label_no_data) %>

+ <% end %> diff --git a/app/views/forums/_show_topics.html.erb b/app/views/forums/_show_topics.html.erb index 93df27e42..08c030f90 100644 --- a/app/views/forums/_show_topics.html.erb +++ b/app/views/forums/_show_topics.html.erb @@ -29,7 +29,9 @@
<% end %> - + <% else %>

<%= l(:label_no_data) %>

<% end %> diff --git a/app/views/forums/show.html.erb b/app/views/forums/show.html.erb index b0ed5a60c..2b3772734 100644 --- a/app/views/forums/show.html.erb +++ b/app/views/forums/show.html.erb @@ -41,9 +41,6 @@
<%= render :partial => 'show_topics',:locals => {:memos=>@memos}%>
- diff --git a/app/views/forums/show.js.erb b/app/views/forums/show.js.erb index 9e36215ac..48b1474cb 100644 --- a/app/views/forums/show.js.erb +++ b/app/views/forums/show.js.erb @@ -1,2 +1 @@ $("#topics_list").html("<%= escape_javascript(render :partial => 'show_topics',:locals => {:memos=>@memos})%>") -$("#pages").html('<%= pagination_links_full @topic_pages, @topic_count,:per_page_links => false,:remote =>true%>'); \ No newline at end of file diff --git a/app/views/layouts/_user_courses.html.erb b/app/views/layouts/_user_courses.html.erb index 1e0f46926..ff18e68bd 100644 --- a/app/views/layouts/_user_courses.html.erb +++ b/app/views/layouts/_user_courses.html.erb @@ -84,10 +84,10 @@ <% end%> diff --git a/app/views/users/_course_boardlist.html.erb b/app/views/users/_course_boardlist.html.erb index d41d630ce..ce5881a4a 100644 --- a/app/views/users/_course_boardlist.html.erb +++ b/app/views/users/_course_boardlist.html.erb @@ -15,54 +15,58 @@
- <% topics.each do |activity| %> -
-
- <% if activity.parent_id.nil? %> - <%= link_to activity.subject.to_s.html_safe, board_message_path(activity.board_id, activity), :class=> "list-title fl" %> - <% else %> - <%= link_to activity.parent.subject.to_s.html_safe, board_message_path(activity.board_id, activity), :class=> "list-title f1" %> - <% end %> - <% if activity.sticky == 1 %> - - <% end%> - <% if activity.locked %> - - <% end %> - <% u = User.where("id=?",activity.author_id).first%> - - 发帖人: <%=(u.try(:realname) != " " ? u.lastname + u.firstname : u.try(:login)) %> - -
-
-
- <% if activity.parent_id.nil? %> - <% content = activity.content %> - <% else %> - <% content = activity.parent.content %> - <% end %> -

<%=render :partial =>"users/intro_content_ex", :locals=>{:user_activity_id =>activity.id, :content=>content, :maxheight=>54} %>

-
-
- 发帖时间:<%= format_time(activity.created_on) %> - 更新时间:<%= format_time(CourseActivity.where("course_act_type='#{activity.class}' and course_act_id =#{activity.id}").first.updated_at) %> - <% count=0 %> - <% if activity.parent %> - <% count=activity.parent.children.count%> - <% else %> - <% count=activity.children.count%> - <% end %> -

<%= count>0 ? "#{count}" : "0" %>回复|<%= get_praise_num(activity) > 0 ? "#{get_praise_num(activity)}" : "0" %>

-
+ <% if topics.any? %> + <% topics.each do |activity| %> +
+
+ <% if activity.parent_id.nil? %> + <%= link_to activity.subject.to_s.html_safe, board_message_path(activity.board_id, activity), :class=> "list-title fl" %> + <% else %> + <%= link_to activity.parent.subject.to_s.html_safe, board_message_path(activity.board_id, activity), :class=> "list-title f1" %> + <% end %> + <% if activity.sticky == 1 %> + + <% end%> + <% if activity.locked %> + + <% end %> + <% u = User.where("id=?",activity.author_id).first%> + + 发帖人: <%=(u.try(:realname) != " " ? u.lastname + u.firstname : u.try(:login)) %> + +
+
+
+ <% if activity.parent_id.nil? %> + <% content = activity.content %> + <% else %> + <% content = activity.parent.content %> + <% end %> +

<%=render :partial =>"users/intro_content_ex", :locals=>{:user_activity_id =>activity.id, :content=>content, :maxheight=>54} %>

+
+
+ 发帖时间:<%= format_time(activity.created_on) %> + 更新时间:<%= format_time(CourseActivity.where("course_act_type='#{activity.class}' and course_act_id =#{activity.id}").first.updated_at) %> + <% count=0 %> + <% if activity.parent %> + <% count=activity.parent.children.count%> + <% else %> + <% count=activity.children.count%> + <% end %> +

<%= count>0 ? "#{count}" : "0" %>回复|<%= get_praise_num(activity) > 0 ? "#{get_praise_num(activity)}" : "0" %>

+
+
+
+ <% end %> +
+
    + <%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true %> +
+ <% else %> +

<%= l(:label_no_data) %>

<% end %> -
-
    - <%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true %> -
-
-
diff --git a/app/views/users/_course_newslist.html.erb b/app/views/users/_course_newslist.html.erb index 5df06b16f..ca782b0d5 100644 --- a/app/views/users/_course_newslist.html.erb +++ b/app/views/users/_course_newslist.html.erb @@ -15,38 +15,42 @@
- <% topics.each do |activity| %> -
-
- <%= link_to activity.title.to_s, news_path(activity), :class => "list-title fl" %> - <% if activity.sticky == 1 %> - - <% end%> - <% u = User.where("id=?",activity.author_id).first%> - - 发布者: <%=(u.try(:realname) != " " ? u.lastname + u.firstname : u.try(:login)) %> - -
-
-
-

<%=render :partial =>"users/intro_content_ex", :locals=>{:user_activity_id =>activity.id, :content=>activity.description, :maxheight=>54} %>

-
-
- 发布时间:<%= format_time(activity.created_on) %> - 更新时间:<%= format_time(CourseActivity.where("course_act_type='#{activity.class}' and course_act_id =#{activity.id}").first.updated_at) %> - <% count=0 %> - <% count=activity.comments.count %> -

<%= count>0 ? "#{count}" : "0" %>回复|<%= get_praise_num(activity) > 0 ? "#{get_praise_num(activity)}" : "0" %>

-
+ <% if topics.any? %> + <% topics.each do |activity| %> +
+
+ <%= link_to activity.title.to_s, news_path(activity), :class => "list-title fl" %> + <% if activity.sticky == 1 %> + + <% end%> + <% u = User.where("id=?",activity.author_id).first%> + + 发布者: <%=(u.try(:realname) != " " ? u.lastname + u.firstname : u.try(:login)) %> + +
+
+
+

<%=render :partial =>"users/intro_content_ex", :locals=>{:user_activity_id =>activity.id, :content=>activity.description, :maxheight=>54} %>

+
+
+ 发布时间:<%= format_time(activity.created_on) %> + 更新时间:<%= format_time(CourseActivity.where("course_act_type='#{activity.class}' and course_act_id =#{activity.id}").first.updated_at) %> + <% count=0 %> + <% count=activity.comments.count %> +

<%= count>0 ? "#{count}" : "0" %>回复|<%= get_praise_num(activity) > 0 ? "#{get_praise_num(activity)}" : "0" %>

+
+
+
+ <% end %> +
+
    + <%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true %> +
+ <% else %> +

<%= l(:label_no_data) %>

<% end %> -
-
    - <%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true %> -
-
-
diff --git a/app/views/users/_project_boardlist.html.erb b/app/views/users/_project_boardlist.html.erb index a36020e3d..8a306523f 100644 --- a/app/views/users/_project_boardlist.html.erb +++ b/app/views/users/_project_boardlist.html.erb @@ -15,54 +15,58 @@
- <% topics.each do |activity| %> -
-
- <% if activity.parent_id.nil? %> - <%= link_to activity.subject.to_s.html_safe, board_message_path(activity.board_id, activity), :class=> "list-title fl" %> - <% else %> - <%= link_to activity.parent.subject.to_s.html_safe, board_message_path(activity.board_id, activity), :class=> "list-title f1" %> - <% end %> - <% if activity.sticky == 1 %> - - <% end%> - <% if activity.locked %> - - <% end %> - <% u = User.where("id=?",activity.author_id).first%> - - 发帖人:<%=(u.try(:realname) != " " ? u.lastname + u.firstname : u.try(:login)) %> - -
-
-
- <% if activity.parent_id.nil? %> - <% content = activity.content %> - <% else %> - <% content = activity.parent.content %> - <% end %> -

<%=render :partial =>"users/intro_content_ex", :locals=>{:user_activity_id =>activity.id, :content=>content, :maxheight=>54 } %>

-
-
- 发帖时间:<%= format_time(activity.created_on) %> - 更新时间:<%= format_time(ForgeActivity.where("forge_act_type='#{activity.class}' and forge_act_id =#{activity.id}").first.updated_at) %> - <% count=0 %> - <% if activity.parent %> - <% count=activity.parent.children.count%> - <% else %> - <% count=activity.children.count%> - <% end %> -

<%= count>0 ? "#{count}" : "0" %>回复|<%= get_praise_num(activity) > 0 ? "#{get_praise_num(activity)}" : "0" %>

-
+ <% if topics.any? %> + <% topics.each do |activity| %> +
+
+ <% if activity.parent_id.nil? %> + <%= link_to activity.subject.to_s.html_safe, board_message_path(activity.board_id, activity), :class=> "list-title fl" %> + <% else %> + <%= link_to activity.parent.subject.to_s.html_safe, board_message_path(activity.board_id, activity), :class=> "list-title f1" %> + <% end %> + <% if activity.sticky == 1 %> + + <% end%> + <% if activity.locked %> + + <% end %> + <% u = User.where("id=?",activity.author_id).first%> + + 发帖人:<%=(u.try(:realname) != " " ? u.lastname + u.firstname : u.try(:login)) %> + +
+
+
+ <% if activity.parent_id.nil? %> + <% content = activity.content %> + <% else %> + <% content = activity.parent.content %> + <% end %> +

<%=render :partial =>"users/intro_content_ex", :locals=>{:user_activity_id =>activity.id, :content=>content, :maxheight=>54 } %>

+
+
+ 发帖时间:<%= format_time(activity.created_on) %> + 更新时间:<%= format_time(ForgeActivity.where("forge_act_type='#{activity.class}' and forge_act_id =#{activity.id}").first.updated_at) %> + <% count=0 %> + <% if activity.parent %> + <% count=activity.parent.children.count%> + <% else %> + <% count=activity.children.count%> + <% end %> +

<%= count>0 ? "#{count}" : "0" %>回复|<%= get_praise_num(activity) > 0 ? "#{get_praise_num(activity)}" : "0" %>

+
+
+
+ <% end %> +
+
    + <%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true %> +
+ <% else %> +

<%= l(:label_no_data) %>

<% end %> -
-
    - <%= pagination_links_full @atta_pages, @atta_count, :per_page_links => false, :remote => @is_remote, :flag => true %> -
-
-
diff --git a/app/views/users/_user_course_list.html.erb b/app/views/users/_user_course_list.html.erb index ca9420f7d..212798eb1 100644 --- a/app/views/users/_user_course_list.html.erb +++ b/app/views/users/_user_course_list.html.erb @@ -14,41 +14,46 @@
- <% @courses.each do |course|%> - +
+ <% else %> +

<%= l(:label_no_data) %>

<% end %> -
- -
-
diff --git a/app/views/users/_user_project_list.html.erb b/app/views/users/_user_project_list.html.erb index 11f2981b0..b7b4948e4 100644 --- a/app/views/users/_user_project_list.html.erb +++ b/app/views/users/_user_project_list.html.erb @@ -14,30 +14,35 @@
- <% @projects.each do |project|%> - +
+ <% else %> +

<%= l(:label_no_data) %>

<% end %> -
- -
-
diff --git a/public/assets/kindeditor/plugins/table/table.js b/public/assets/kindeditor/plugins/table/table.js index 08a1fbcc5..be386f7cc 100644 --- a/public/assets/kindeditor/plugins/table/table.js +++ b/public/assets/kindeditor/plugins/table/table.js @@ -283,7 +283,7 @@ KindEditor.plugin('table', function(K) { for (var i = 0; i < rows; i++) { html += ''; for (var j = 0; j < cols; j++) { - html += '' + (K.IE ? ' ' : '
') + ''; + html += '' + (K.IE ? ' ' : '
') + ''; } html += ''; } diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index be23fffec..dafedc9a9 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -128,9 +128,15 @@ a.postTypeGrey:hover {color:#269ac9;} .homepagePostSubmit {font-size:14px; color:#888888; border:1px solid #dddddd; background-color:#eaeaea; float:left; margin-right:20px; padding:0px 10px;} .homepagePostSubmit:hover {background-color:#d8d8d8;} .homepagePostIntro {font-size:14px; color:#484848;overflow:hidden;} +.homepagePostIntro ol li{list-style-type: decimal;margin-left: 20px;} +.homepagePostIntro ul li{list-style-type: disc;margin-left: 20px;} + .homepagePostDeadline {font-size:12px; color:#888888; float:left; margin-top: 2px;} .homepagePostDate {font-size:12px; color:#888888;margin-bottom: 5px;} .homepagePostReply {width:710px; margin:0px auto; background-color:#f1f1f1; margin-top:10px;} +.homepagePostReply ol li{list-style-type: decimal;margin-left: 20px;} +.homepagePostReply ul li{list-style-type: disc;margin-left: 20px;} + .homepagePostReplyBanner {width:708px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888;} .borderBottomNone {border-bottom:none !important;} .topBorder {border-top: 1px solid #e4e4e4;} @@ -166,6 +172,8 @@ a.postOptionLink2:hover {color:#ffffff; background-color:#269ac9;} .homepagePostReplyDes {float:left; width:632px; margin-left:15px;} .homepagePostReplyPublisher {font-size:12px; color:#888888; margin-bottom:5px;} .homepagePostReplyContent {font-size:12px; color:#484848; margin-bottom:12px;} +.homepagePostReplyContent ol li{list-style-type: decimal;margin-left: 20px;} +.homepagePostReplyContent ul li{list-style-type: disc;margin-left: 20px;} .table_maxWidth table {max-width: 642px;} .homepagePostProjectState {width:52px; height:20px; line-height:20px; border-radius:1px; background-color:#28be6c; color:#ffffff; text-align:center; vertical-align:middle; font-size:12px; display:inline-block; margin-left:5px;} .homepagePostAssignTo {float:left; font-size:14px; color:#269ac9;} diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css index 8575b58c6..792306692 100644 --- a/public/stylesheets/new_user.css +++ b/public/stylesheets/new_user.css @@ -597,7 +597,7 @@ a.projectsLineGrey:hover {color:#ffffff;} .homepageLeftMenuMore {height:18px;} .homepageLeftMenuMore:hover {background-color:#269ac9;} .homepageLeftMenuMoreIcon {background:url(../images/homepage_icon.png) -74px -240px no-repeat; display:block; height:18px;} -.homepageLeftMenuHideIcon {background:url(../images/homepage_icon.png) -74px -220px no-repeat;display:block; height:18px;} +.homepageLeftMenuHideIcon {background:url(../images/homepage_icon.png) 100px -624px no-repeat;display:block; height:18px;} .homepageMenuSetting {display:inline-block; background:url(../images/homepage_icon2.png) -190px -365px no-repeat; width:15px; height:15px; margin-top: 16px; margin-right: 15px;} .homepageMenuSetting:hover {background:url(../images/homepage_icon2.png) -190px -407px no-repeat;} a.homepageMenuText {color:#484848; font-size:16px; margin-left:20px;} @@ -675,6 +675,10 @@ a.postTypeGrey:hover {color:#269ac9;} .homepagePostDeadline {font-size:12px; color:#888888; float:left; margin-top: 2px;} .homepagePostDate {font-size:12px; color:#888888;margin-bottom: 5px;} .homepagePostReply {width:720px; margin:0px auto; background-color:#f1f1f1; margin-top:10px;} +.homepagePostIntro ol li{list-style-type: decimal;margin-left: 20px;} +.homepagePostIntro ul li{list-style-type: disc;margin-left: 20px;} +.homepagePostReply ol li{list-style-type: decimal;margin-left: 20px;} +.homepagePostReply ul li{list-style-type: disc;margin-left: 20px;} .homepagePostReplyBanner {width:718px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888;} .borderBottomNone {border-bottom:none !important;} .topBorder {border-top: 1px solid #e4e4e4;} @@ -709,6 +713,8 @@ a.postOptionLink:hover {color:#ffffff; background-color:#269ac9;} .homepagePostReplyDes {float:left; width:642px; margin-left:15px;} .homepagePostReplyPublisher {font-size:12px; color:#888888; margin-bottom:5px;} .homepagePostReplyContent {font-size:12px; color:#484848; margin:3px 5px 12px 5px;font: 14px/1.5 "sans serif",tahoma,verdana,helvetica;font-family:"微软雅黑","宋体";} +.homepagePostReplyContent ol li{list-style-type: decimal;margin-left: 20px;} +.homepagePostReplyContent ul li{list-style-type: disc;margin-left: 20px;} .table_maxWidth table {max-width: 642px;} .homepagePostProjectState {width:52px; height:20px; line-height:20px; border-radius:1px; background-color:#28be6c; color:#ffffff; text-align:center; vertical-align:middle; font-size:12px; display:inline-block; margin-left:5px;} .homepagePostAssignTo {float:left; font-size:14px; color:#269ac9;} diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index aae9ceb7c..3422ffd87 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -969,6 +969,10 @@ a:hover.Reply_pic{border:1px solid #64bdd9;} margin: 10px auto 0px; background-color: #F1F1F1; } +.homepagePostIntro ol li{list-style-type: decimal;margin-left: 20px;} +.homepagePostIntro ul li{list-style-type: disc;margin-left: 20px;} +.homepagePostReply ol li{list-style-type: decimal;margin-left: 20px;} +.homepagePostReply ul li{list-style-type: disc;margin-left: 20px;} .topBorder { border-top: 1px solid #E4E4E4; } diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index ac6425b94..d016fee4a 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -599,6 +599,8 @@ a.postTypeGrey:hover {color:#269ac9;} .homepagePostSubmit {font-size:14px; color:#888888; border:1px solid #dddddd; background-color:#eaeaea; float:left; margin-right:20px; padding:0px 10px;} .homepagePostSubmit:hover {background-color:#d8d8d8;} .homepagePostIntro {font-size:14px; color:#484848;overflow:hidden;} +.homepagePostIntro ol li{list-style-type: decimal;margin-left: 20px;} +.homepagePostIntro ul li{list-style-type: disc;margin-left: 20px;} .homepagePostDeadline {font-size:12px; color:#888888; float:left; margin-top: 2px;} .homepagePostDate {font-size:12px; color:#888888;margin-bottom: 5px;} .homepagePostReplyBanner {width:708px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888;} @@ -632,6 +634,8 @@ a.postReplyCancel:hover {color:#ffffff;} .homepagePostReplyDes {float:left; width:620px; margin-left:15px;} .homepagePostReplyPublisher {font-size:12px; color:#484848; margin-bottom:5px;} .homepagePostReplyContent {font-size:12px; color:#484848; margin-bottom:12px;} +.homepagePostReplyContent ol li{list-style-type: decimal;margin-left: 20px;} +.homepagePostReplyContent ul li{list-style-type: disc;margin-left: 20px;} .table_maxWidth table {max-width: 642px;} .homepagePostProjectState {width:42px; height:20px; line-height:20px; border-radius:1px; background-color:#28be6c; color:#ffffff; text-align:center; vertical-align:middle; font-size:12px; display:inline-block; margin-left:5px;} .homepagePostAssignTo {float:left; font-size:14px; color:#15bccf;}