376 lines
18 KiB
Plaintext
376 lines
18 KiB
Plaintext
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<title><%= h html_title %></title>
|
||
<meta name="description" content="<%= Redmine::Info.app_name %>" />
|
||
<meta name="keywords" content="issue,bug,tracker" />
|
||
<%= csrf_meta_tag %>
|
||
<%= favicon %>
|
||
<%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2', 'share','new_user', 'user_leftside','prettify','users',:media => 'all' %>
|
||
<%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %>
|
||
<%= javascript_heads %>
|
||
<%= javascript_include_tag "bootstrap","avatars","new_user",'attachments','prettify'%>
|
||
<%= heads_for_theme %>
|
||
<%= call_hook :view_layouts_base_html_head %>
|
||
<%= yield :header_tags -%>
|
||
<!-- MathJax的配置 -->
|
||
<script type="text/javascript"
|
||
src="/javascripts/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
|
||
</script>
|
||
<!-- 配置 : 在生成的公式图片上去掉Math定义的右键菜单,$$ $$ \( \) \[ \] 中的公式给予显示-->
|
||
<script type="text/x-mathjax-config">
|
||
MathJax.Hub.Config({
|
||
|
||
showMathMenu: false,
|
||
showMathMenuMSIE: false,
|
||
tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
|
||
});
|
||
</script>
|
||
<script>
|
||
var onUserCard = false;
|
||
var onImage = false;
|
||
$(document).ready(function(){
|
||
$("#relateProject,.relatePInfo").mouseover(function(){
|
||
$(".relatePInfo").css("display","block");
|
||
})
|
||
$("#relateProject,.relatePInfo").mouseout(function(){
|
||
$(".relatePInfo").css("display","none");
|
||
})
|
||
$(".homepagePostPortrait").mouseover(function(){
|
||
onImage = true;
|
||
$(this).children(".userCard").css("display","block");
|
||
})
|
||
$(".homepagePostPortrait").mouseout(function(){
|
||
var cur = $(this);
|
||
onImage = false;
|
||
setTimeout(function(){
|
||
if (onUserCard == false && onImage == false) {
|
||
$(cur).children(".userCard").css("display","none");
|
||
}
|
||
},500);
|
||
})
|
||
$(".userCard").mouseover(function(){
|
||
onUserCard = true;
|
||
$(this).css("display","block");
|
||
})
|
||
$(".userCard").mouseout(function(){
|
||
onUserCard = false;
|
||
$(this).css("display","none");
|
||
})
|
||
$(".coursesLineGrey").mouseover(function(){
|
||
$(this).css("color","#ffffff");
|
||
})
|
||
$(".coursesLineGrey").mouseout(function(){
|
||
$(this).css("color","#808080");
|
||
});
|
||
|
||
//侧导航栏配置设置
|
||
$(".homepageLeftMenuCoursesLine").mouseover(function(){
|
||
$(this).children(".shild").css("background","url(/images/hwork_icon.png) -82px -399px no-repeat");
|
||
$(this).children().css("color","#ffffff");
|
||
});
|
||
$(".homepageLeftMenuCoursesLine").mouseout(function(){
|
||
$(this).children(".shild").css("background","url(/images/hwork_icon.png) -6px -354px no-repeat");
|
||
$(this).children().css("color","#808080");
|
||
});
|
||
$(".subNavRow").mouseover(function(){
|
||
$(this).css("background-color","#269ac9");
|
||
$(this).children().css("color","#ffffff");
|
||
});
|
||
$(".subNavRow").mouseout(function(){
|
||
$(this).css("background-color","#ffffff");
|
||
$(this).children().css("color","#888888");
|
||
});
|
||
})
|
||
</script>
|
||
</head>
|
||
|
||
<body onload="prettyPrint();">
|
||
<div class="navContainer">
|
||
<% is_current_user = User.current.logged? && User.current == @user%>
|
||
<% if User.current.logged? %>
|
||
<%= render :partial => 'layouts/logined_header' %>
|
||
<% else%>
|
||
<%= render :partial => 'layouts/unlogin_header' %>
|
||
<% end%>
|
||
</div>
|
||
<div class="cl"></div>
|
||
<div class="homepageContentContainer">
|
||
<!--div class="homepageRightBannerImg"></div-->
|
||
<div class="cl"></div>
|
||
<div class="homepageContent">
|
||
<div class="homepageLeft" id="LSide">
|
||
<div class="homepagePortraitContainer">
|
||
<div class="homepagePortraitImage fl" id="homepage_portrait_image">
|
||
<%= image_tag(url_to_avatar(@user),width:"78", height: "78", :id=>'nh_user_tx') %>
|
||
<% if User.current.logged?%>
|
||
<% if is_current_user%>
|
||
<div id="edit_user_file_btn" class="none">
|
||
<div class="homepageEditProfile">
|
||
<a href="<%= url_for(:controller => 'my', :action => 'clear_user_avatar_temp') %>" data-remote="true" class="homepageEditProfileIcon"></a>
|
||
</div>
|
||
</div>
|
||
<% end %>
|
||
<% end%>
|
||
</div>
|
||
<div class="fl ml10">
|
||
<p class="homepageImageName hidden db mb5" style="margin-left:0px;margin-right:0px;">
|
||
<%= @user.realname.blank? ? @user.login : @user.realname %>
|
||
</p>
|
||
<% if (@user.user_extensions && (@user.user_extensions.identity != 2) ) %>
|
||
<span class="<%= @user.user_extensions.gender == 1 ? 'homepageImageSexWomen' : 'homepageImageSexMan' %> "></span>
|
||
<% end %>
|
||
<div class="cl"></div>
|
||
<% if @user.user_extensions && @user.user_extensions.identity %>
|
||
<p class="mb8 c_dark f14">
|
||
<%= get_user_roll @user %>
|
||
</p>
|
||
<% end%>
|
||
<div id="watch_user_btn_div">
|
||
<%= render :partial => 'layouts/user_watch_btn', :locals => {:target => @user} %>
|
||
</div>
|
||
</div>
|
||
<div class="cl"></div>
|
||
|
||
<%# 更新访问数,刷新的时候更新访问次数 %>
|
||
<% update_visiti_count @user %>
|
||
<%# over %>
|
||
|
||
<div>
|
||
<div class="homepageSignature break_word">
|
||
<p id="user_brief_introduction_show">
|
||
<%= render :partial => 'layouts/user_brief_introduction', :locals => {:user => @user} %>
|
||
</p>
|
||
</div>
|
||
<textarea class="homepageSignatureTextarea none" placeholder="请编辑签名" id="user_brief_introduction_edit" onblur="edit_user_introduction('<%= edit_brief_introduction_user_path(@user.id)%>');"><%= @user.user_extensions.brief_introduction %></textarea>
|
||
</div>
|
||
<div>
|
||
<div class="homepageImageBlock">
|
||
<div>
|
||
<%= link_to(@user.blog.blog_comments.where("#{BlogComment.table_name}.parent_id is null").count,
|
||
{:controller => 'blogs', :action => 'index', :user_id => @user.id }, :class => 'homepageImageNumber',:id => 'user_score') %>
|
||
</div>
|
||
<div class="homepageImageText">
|
||
|
||
<%= link_to('博客',
|
||
{:controller => 'blogs', :action => 'index', :user_id => @user.id }, :class => 'homepageImageNumber',:id => 'user_score') %>
|
||
</div>
|
||
</div>
|
||
<div class="homepageVerDiv"></div>
|
||
<div class="homepageImageBlock">
|
||
<div id="watch_user_number_div">
|
||
<%= link_to User.watched_by(@user.id).count.to_s, {:controller=>"users", :action=>"user_watchlist",:id=>@user.id},:class=>"homepageImageNumber" %>
|
||
</div>
|
||
<div class="homepageImageText">
|
||
<%= link_to '关注', {:controller=>"users", :action=>"user_watchlist",:id=>@user.id},:class=>"homepageImageNumber" %>
|
||
</div>
|
||
</div>
|
||
<div class="homepageVerDiv"></div>
|
||
<div class="homepageImageBlock">
|
||
<div id="fans_user_number_div">
|
||
<%= link_to @user.watcher_users.count.to_s, {:controller=>"users", :action=>"user_fanslist",:id=>@user.id},:class=>"homepageImageNumber", :id => "user_fans_number"%>
|
||
</div>
|
||
<div class="homepageImageText">
|
||
|
||
<%= link_to '粉丝', {:controller=>"users", :action=>"user_fanslist",:id=>@user.id},:class=>"homepageImageNumber", :id => "user_fans_number"%>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="cl"></div>
|
||
</div>
|
||
</div>
|
||
<div class="homepageLeftMenuContainer">
|
||
<div class="homepageLeftMenuBlock">
|
||
<%= link_to "动态",user_activities_path(@user.id),:class => "homepageMenuText"%>
|
||
</div>
|
||
<% hidden_courses = Setting.find_by_name("hidden_courses") %>
|
||
<% unvisiable = hidden_courses && hidden_courses.value == "1"%>
|
||
<% if !unvisiable %>
|
||
<div class="homepageLeftMenuBlock">
|
||
<%= link_to '课程',{:controller => "users", :action => "user_courselist", :id => @user.id}, :class => "homepageMenuText" %>
|
||
|
||
<% if is_current_user%>
|
||
<% if User.current.user_extensions && User.current.user_extensions.identity == 0 && User.current.allowed_to?(:add_course, nil, :global => true)%>
|
||
<div class="courseMenu" id="courseMenu">
|
||
<ul>
|
||
<li class="courseMenuIcon fr" style="margin-right:10px;" id="courseMenuIcon">
|
||
<ul class="topnav_course_menu" id="topnav_course_menu">
|
||
<li>
|
||
<%= link_to "新建课程", new_course_path(:host=> Setting.host_course), :class => "menuGrey"%>
|
||
</li>
|
||
<!--<li><a href="javascript:void(0);" class="menuGrey">账号设置</a> </li>-->
|
||
<li>
|
||
<%= link_to "加入课程",join_private_courses_courses_path,:remote => true,:class => "menuGrey",:method => "post"%>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<% else%>
|
||
<%=link_to "", join_private_courses_courses_path, :class => "homepageMenuSetting fr",:style => "margin-right:10px;", :remote => true, :title => "加入课程"%>
|
||
<% end%>
|
||
<% end%>
|
||
</div>
|
||
<% end %>
|
||
<%# if @user.courses.visible.count > 0
|
||
course_order_ids = "(" +
|
||
CourseActivity.find_by_sql("SELECT c.course_id, updated_at FROM
|
||
(SELECT ca.course_id, MAX(ca.updated_at) AS updated_at FROM course_activities ca WHERE ca.course_id IN (" + @user.courses.visible.select('courses.id').map{|c| c.id}.join(',') + ")
|
||
GROUP BY ca.course_id) AS c
|
||
ORDER BY c.updated_at DESC limit 5").map {|c| c.course_id}.join(",") + ")"
|
||
courses = Course.where("id in #{course_order_ids}")
|
||
else
|
||
courses = []
|
||
|
||
end
|
||
%>
|
||
<% courses = @user.courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(5) %>
|
||
<div class="homepageLeftMenuCourses <%= courses.empty? ? 'none' : ''%>" >
|
||
<div class = "leftCoursesList" id="homepageLeftMenuCourses">
|
||
<ul>
|
||
<%= render :partial => 'layouts/user_courses', :locals => {:courses => courses,:user => @user, :page => 0} %>
|
||
</ul>
|
||
</div>
|
||
<% if !courses.empty? %>
|
||
<div class="homepageLeftMenuMore" id="user_hide_course">
|
||
<a href="javascript:void(0);" class="homepageLeftMenuHideIcon" id="hide_show_courseicon" onclick="leftCourseslistChange();"></a>
|
||
</div>
|
||
<% end %>
|
||
</div>
|
||
<div class="homepageLeftMenuBlock">
|
||
<%= link_to '项目',{:controller => "users", :action => "user_projectlist", :id => @user.id}, :class => "homepageMenuText" %>
|
||
<% if is_current_user%>
|
||
<%=link_to "", new_project_path(:host=> Setting.host_name), :class => "homepageMenuSetting fr", :style => "margin-right:10px;", :title => "新建项目"%>
|
||
<% end%>
|
||
</div>
|
||
<%# if @user.projects.visible.count > 0
|
||
project_order_ids = "(" +
|
||
ForgeActivity.find_by_sql("SELECT p.project_id, p.created_at FROM
|
||
(SELECT fa.project_id, MAX(fa.created_at) AS created_at FROM forge_activities fa WHERE fa.project_id IN (" + @user.projects.visible.select('projects.id').map{|p| p.id}.join(',') + ")
|
||
GROUP BY fa.project_id) AS p
|
||
ORDER BY p.created_at DESC limit 5").map {|p| p.project_id}.join(",") + ")"
|
||
projects = Project.where("projects.id in #{project_order_ids}")
|
||
else
|
||
projects = []
|
||
end
|
||
%>
|
||
|
||
<% projects = @user.projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(5)%>
|
||
<div class="homepageLeftMenuCourses <%= projects.empty? ? 'none' : ''%>" >
|
||
<div class = "leftProjecsList" id="homepageLeftMenuForge">
|
||
<ul>
|
||
<%= render :partial => 'layouts/user_projects', :locals => {:projects => projects,:user => @user, :page => 0} %>
|
||
</ul>
|
||
</div>
|
||
<% if !projects.empty? %>
|
||
<div class="homepageLeftMenuMore" id="user_hide_project">
|
||
<a href="javascript:void(0);" class="homepageLeftMenuHideIcon" id="hide_show_projecticon" onclick="leftProjectslistChange();"></a>
|
||
</div>
|
||
<% end %>
|
||
</div>
|
||
<div class="homepageLeftMenuBlock">
|
||
<!--<a href="javascript:void(0);" class="homepageMenuText">留言</a>-->
|
||
<%= link_to '留言',feedback_path(@user, :host=> Setting.host_user),:class=>'homepageMenuText'%>
|
||
</div>
|
||
</div>
|
||
<div class="homepageLeftLabelContainer">
|
||
<div class="project_Label_New">
|
||
<span class="homepageLabelText">标签</span>
|
||
<div class="tag_h ml10" >
|
||
<%= render :partial => 'tags/user_tag', :locals => {:obj => @user,:object_flag => "1"}%>
|
||
</div>
|
||
<div class="cl"></div>
|
||
</div>
|
||
</div>
|
||
<div class="fontGrey5 mt10 ml20">访问计数 <%= @user.visits.to_i %></div>
|
||
</div>
|
||
<div class="homepageRight">
|
||
<%= yield %>
|
||
</div>
|
||
</div>
|
||
<%= render :partial => 'layouts/new_feedback' %>
|
||
</div>
|
||
<div class="cl"></div>
|
||
<%= render :partial => 'layouts/footer' %>
|
||
<div class="cl"></div>
|
||
|
||
<div id="ajax-modal" style="display:none;"></div>
|
||
<div id="ajax-indicator" style="display:none;">
|
||
<span><%= l(:label_loading) %></span>
|
||
</div>
|
||
<div id="nh_tx_dialog_html" class="white_content" style="display:none;">
|
||
<div>
|
||
<div><a href="javascript:hideModal();" class="box_close"></a></div>
|
||
<div class="cl"></div>
|
||
<div class="pro_new">
|
||
<h3 class="box_h3 mb10">头像设置</h3>
|
||
<div class="uppicBox">
|
||
<input type="button" class="uppic_btn" onclick="$('#upload_user_image').click();" value="浏览.."/>
|
||
<%= file_field_tag 'avatar[image]',
|
||
:id => "upload_user_image",
|
||
:style => 'display:none;',#added by young
|
||
:size => "1",
|
||
:multiple => false,
|
||
:onchange => 'addInputAvatar(this);',
|
||
: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,
|
||
:file_type => Redmine::Configuration['pic_types'].to_s,
|
||
:type_support_message => l(:error_pic_type),
|
||
:upload_path => upload_avatar_path(:format => 'js'),
|
||
:description_placeholder => nil ,# l(:label_optional_description)
|
||
:source_type => @user.class.to_s,
|
||
:source_id => @user.id.to_s
|
||
} %>
|
||
<!--<br/>-->
|
||
<!--<span>只支持jpg,png,gif,大小不超过5M</span>-->
|
||
</div>
|
||
<div class="showpicBox">
|
||
<p>预览</p>
|
||
<%= image_tag(url_to_avatar(@user), :style=>"width:96px;height:96px;",:class=>"mb5 mt10",:nhname=>'avatar_image') %>
|
||
<br/>
|
||
<span >96px*96px</span> <br />
|
||
<div class="mb20"></div>
|
||
<%= image_tag(url_to_avatar(@user), :style=>"width:48px;height:48px;",:class=>"mb5",:nhname=>'avatar_image') %>
|
||
<br />
|
||
<span>48px*48px</span> <br />
|
||
</div>
|
||
<div class="cl mb10"></div>
|
||
<a href="javascript:hideModal();" class=" fr grey_btn mr15 f14"> 取 消</a>
|
||
<a href="<%= url_for(:controller => 'my', :action => 'save_user_avatar') %>" data-remote="true" class="blue_btn fr mr10 f14">确 定</a>
|
||
</div><!--talknew end-->
|
||
<div class="cl"></div>
|
||
</div><!--floatbox end-->
|
||
</div>
|
||
<script type="text/javascript">
|
||
$(function(){
|
||
$('#user_hide_course').hide();
|
||
$('#user_hide_project').hide();
|
||
});
|
||
|
||
$("#courseMenu").mouseenter(function(){
|
||
$("#topnav_course_menu").show();
|
||
});
|
||
$("#courseMenu").mouseleave(function(){
|
||
$("#topnav_course_menu").hide();
|
||
});
|
||
function leftCourseslistChange(){
|
||
$('#homepageLeftMenuCourses').slideToggle();
|
||
$('#hide_show_courseicon').toggleClass("homepageLeftMenuHideIcon");
|
||
$('#hide_show_courseicon').toggleClass("homepageLeftMenuMoreIcon");
|
||
|
||
}
|
||
function leftProjectslistChange(){
|
||
$('#homepageLeftMenuForge').slideToggle();
|
||
$('#hide_show_projecticon').toggleClass("homepageLeftMenuHideIcon");
|
||
$('#hide_show_projecticon').toggleClass("homepageLeftMenuMoreIcon");
|
||
|
||
}
|
||
|
||
</script>
|
||
</body>
|
||
</html>
|