var models = require('../models'), User = models.User, Reply = models.Reply, Relation = models.Relation, Message = models.Message, TagCollect = models.TagCollect, TopicCollect = models.TopicCollect; var tag_ctrl = require('./tag'); var topic_ctrl = require('./topic'); var message_ctrl = require('./message'); var Util = require('../libs/util'); var config = require('../config').config; var EventProxy = require('eventproxy').EventProxy; var check = require('validator').check, sanitize = require('validator').sanitize; var crypto = require('crypto'); exports.index = function(req,res,next){ var user_name = req.params.name; get_user_by_name(user_name,function(err,user){ if(!user){ res.render('notify/notify', {error:'这个用户不存在。'}); return; } var render = function(recent_topics,recent_replies,relation){ user.friendly_create_at = Util.format_date(user.create_at,true); res.render('user/index', {user:user,recent_topics:recent_topics,recent_replies:recent_replies,relation:relation}); } var proxy = new EventProxy(); proxy.assign('recent_topics','recent_replies','relation',render); var query = {'author_id':user._id}; var opt = {limit:5, sort:[['create_at','desc']]}; topic_ctrl.get_topics_by_query(query,opt,function(err,recent_topics){ if(err) return next(err); proxy.trigger('recent_topics',recent_topics); }); Reply.find({author_id:user._id},function(err,replies){ if(err) return next(err); var topic_ids = []; for(var i=0; i'); return; } var user_id = req.body.user_id; get_user_by_id(user_id,function(err,user){ if(err) return next(err); user.is_star = user.is_star == true? false: true; user.save(function(err){ if(err) return next(err); res.json({status:'success'}); }); }); }; exports.get_collect_tags = function(req,res,next){ if(!req.session.user){ res.redirect('home'); return; } TagCollect.find({user_id:req.session.user._id},function(err,docs){ if(err) return next(err); var ids = []; for(var i=0; i