Пример #1
0
app.post('/post/:id', function * (next) {
    //var user = yield User.findOne(this.params.id);
    console.log(this.params);
    var id = this.params.id;
    $("database.collection").find({
        "id": id
    }, function(r) {
        console.log('find db', r, r.numberReturned);
        if (r.numberReturned != 0) {
            $("database.collection").update({
                "id": id
            }, {
                progress: '50%'
            }, function(r) {
                console.log('updated');
            });
        }

        //this.body = r;
    });
    $("database.collection").save({
        id: this.params.id
    });
    console.log('trying to save to database');
    this.body = 'received ', this.params.id;
});
Пример #2
0
            $('oneandseven.follow').find(1, query, function(reply) {
                if (reply.numberReturned) {
                    return res.json({errcode: 3, errmsg: '已经关注过了'})
                }

                var doc = {
                    time: new Date(),
                    userid: userid,
                    feedid: feedid
                }

                $('oneandseven.follow').save(doc)
                $('oneandseven.follow').find(1, doc, function(reply) {
                    if (reply.numberReturned) {
                        $('oneandseven.users').update({
                            _id: ObjectID(userid)
                        }, {
                            '$inc': {
                                "follow": 1
                            }
                        })

                        $('oneandseven.users').update({
                            _id: ObjectID(feedid)
                        }, {
                            '$inc': {
                                "fans": 1
                            }
                        })
                        res.json({errcode: 0, errmsg: '关注成功'})
                    } else {
                        res.json({errcode: 2, errmsg: '关注发生错误'})
                    }
                })
            })
Пример #3
0
        $('oneandseven.follow').find(1, query, function(reply) {
            var errcode
            var errmsg
            if (reply.numberReturned) {
                errcode = 2
                errmsg = '取消关注发生错误'
            } else {
                errcode = 0
                errmsg = '取消关注成功'

                $('oneandseven.users').update({
                    _id: ObjectID(userid)
                }, {
                    '$inc': {
                        "follow": -1
                    }
                })

                $('oneandseven.users').update({
                    _id: ObjectID(feedid)
                }, {
                    '$inc': {
                        "fans": -1
                    }
                })
            }
            res.json({errcode: errcode, errmsg: errmsg})
        })
Пример #4
0
                $('oneandseven.tags').find(1, query, function(reply) {
                    var picture = reply.documents[0].picture
                    if (picture) {
                        if (~picture.indexOf('qiniudn.com')) {
                            var name = picture.split('qiniudn.com/')[1]
                            // 要的不是完整路径而是文件名
                            client.delete(name, function(err) {
                                console.log(err)
                            })
                        } else if (~picture.indexOf('clouddn.com')) {
                            var name = picture.split('clouddn.com/')[1]
                            client.delete(name, function(err) {
                                console.log(err)
                            })
                        }
                    }

                    $('oneandseven.tags').remove(query)
                    $('oneandseven.tags').find(1, query, function(reply) {
                        var errcode
                        var errmsg
                        if (reply.numberReturned) {
                            errcode = 2
                            errmsg = '删除标签发生错误'
                        } else {
                            errcode = 0
                            errmsg = '删除标签成功'
                        }

                        res.json({errcode: errcode, errmsg: errmsg})
                    })
                })
Пример #5
0
 }, function(r) {
     if (r.numberReturned != 0) {
         //console.log('updating......',r.documents,'==========>',merge({id: req.params.id}, req.param('data')));
         $("database.collection").update({
             id: req.params.id
         }, merge({
             id: req.params.id
         }, req.param('data')));
     } else {
         console.log('saveing new data for ', req.params.id);
         $("database.collection").save(merge({
             id: req.params.id
         }, req.param('data')));
     }
     io.emit('update post', {
         user: user,
         data: req.param('data')
     });
     //handle module
     if(id.indexOf('m') > -1 ){
         setConfig({
             user:user,
             type:'add',
             value:id,
             configItem : 'moduleList',
             cb:function(response){
                 res.send(response);
             }
         });
     }else{
         res.send({id:req.params.id,data:req.param('data'),user:user});
     }
 });
Пример #6
0
        $('oneandseven.tags').find(1, query, function(reply) { // 标签一定要有
            if (reply.numberReturned) {
                var tag = reply.documents[0]

                var query = {
                    _id: ObjectID(tag.userid)
                }
                $('oneandseven.users').find(1, query, function(reply) { // 标签创建者
                    if (reply.numberReturned) {
                        res.render('tag', {
                            title: settings.title,
                            tag: tag,
                            user: req.session.user, // user就是登录用户的信息 没登录就是 0
                            currentUser: reply.documents[0],
                            success: req.flash('success').toString(),
                            error: req.flash('error').toString()
                        })   
                    } else {
                        req.flash('error', '用户不存在')
                        res.redirect('/error')
                    }
                })

            } else {
                req.flash('error', '标签不存在')
                res.redirect('/error')
            }
        })
Пример #7
0
    $('oneandseven.follow').find(query, function(reply) {
        if (reply.numberReturned) {
            var arr = []
            for (var i = 0, l = reply.numberReturned; i < l; i++) {
                arr.push(ObjectID(reply.documents[i].userid))
            }

            $('oneandseven.users').find({"_id": {"$in": arr}}, function(reply) {
                res.render('fans', {
                    title: settings.title,
                    user: req.session.user,
                    users: reply.numberReturned ? reply.documents : [],
                    success: req.flash('success').toString(),
                    error: req.flash('error').toString()
                }) 
            })
        } else {
            res.render('fans', {
                title: settings.title,
                user: req.session.user,
                users: [],
                success: req.flash('success').toString(),
                error: req.flash('error').toString()
            }) 
        }
    })
Пример #8
0
var get_page_info = function (err, res, body) {
  var urlparsed = {};

  if (!err) {
    try {
      $ = cheerio.load(body);
      console.log(res.request.href);
      for (var key in tags){
        urlparsed[key] = tags[key]($);
      }
      urlparsed["url"] = res.request.href;
      // console.log(urlparsed);
      db("search.parsedurls").save(urlparsed);
    }
    catch (e) {
      console.log("error parsing dom");
      eventEmitter.emit("parseFinished");
    }
  } else {
    console.log(err);
    console.log(++errcount);
    // db("search.parsedurls").save(urlparsed);
  }
  eventEmitter.emit("parseFinished");
};
Пример #9
0
 router.getConfig(user, function(response) {
     // console.log('getfromDB', response);
     var enabledMod = response['moduleList'];
     var select = ['mod_id'];
     var db = [];
     for (var i = 0, l = enabledMod.length; i < l; i++) {
         for (var j = 0, lj = select.length; j < lj; j++) {
             var k = select[j];
             var v = enabledMod[i];
             var _tmp = {};
             _tmp[k] = v;
             db.push(_tmp);
         }
     }
     //console.log('dbbbbbbb', db);
     $("database.collection").find({
         $or: db
     }, function(r) {
         var opt = {
             user: user
         };
         // mailSend(createEmailHtml(r, opt), {
         //     sendName: user
         // });
         createEmailHtml(r, opt, function(html) {
             mailSend(html, {
                 sendName: user
             })
         });
     });
 })
Пример #10
0
 heros.forEach(function(hero) {
         db('db.gonglves').find({hero_id:hero.id}, function(r){
                 if (r.documents.length == 0) {
                         console.log(hero.id + " " + hero.name);
                 }
         });
 });
Пример #11
0
    app.get('/removeuser/:id', function(req, res) {

        $("database.collection").remove({
            user: req.params.id
        });

    });
Пример #12
0
 router.getConfig(user, function(response) {
     // console.log('getfromDB', response);
     var enabledMod = response['moduleList'];
     var select = ['mod_id'];
     var db = [];
     for (var i = 0, l = enabledMod.length; i < l; i++) {
         for (var j = 0, lj = select.length; j < lj; j++) {
             var k = select[j];
             var v = enabledMod[i];
             var _tmp = {};
             _tmp[k] = v;
             db.push(_tmp);
         }
     }
     $("database.collection").find({
         $or: db
     }, function(r) {
         //console.log('get all from db all', r.documents);
         for (var i = 0, l = r.documents.length; i < l; i++) {
             delete r.documents[i]._id;
         }
         //console.log('get all', r.documents);
         var opt = {
             user: user
         }
         createEmailHtml(r, opt, function(html) {
             res.send(html)
         });
         // res.send(createEmailHtml(r, opt));
     });
 })
Пример #13
0
 app.get('/clearUser', function(req, res) {
     $("database.collection").find({
         "user": {
             $exists: true
         }
     }, function(r) {
         var users = r.documents;
         for (var i = 0, l = users.length; i < l; i++) {
             var user = users[i];
             if (typeof user['user'] == 'object') {
                 var _tmp = user;
                 user['user'] = user['user']['user'];
                 $("database.collection").update({
                     _id: user['_id']
                 }, user);
             }
             $("database.collection").find({
                 'user': user['user']
             }, function(r) {
                 if (r.numberReturned > 1) {
                     for (var i = 1, l = r.numberReturned; i < l; i++) {
                         $("database.collection").remove({
                             '_id': r.documents[i]['_id']
                         })
                     }
                 }
             });
         }
     });
 });
Пример #14
0
 db(property.database.article).find({articleid : articleid}, 1, function(reply) {
     var doc = reply.documents[0];
     if (!doc)
         doc = { title: 'oops', content: 'we can not find the article you want', keywords: [] };
     else {
         // find the keywords
         if (doc.keywords)
             doc.keywords = doc.keywords.map(function(keyword) {
                 return keyword[0];
             });
         else
             doc.keywords = [];
         // find the articleid of similar articles and find the meta data or these articles
         db(property.database.similar).find({articleid: doc.articleid}, function(reply2) {
             async.map(reply2.documents[0].similar, function(arti, cb) {
                 db(property.database.article).find({articleid: arti}, 1, function(reply3) {
                     var doc = reply3.documents[0];
                     cb(null, {title: doc.title, link: '/article/' + doc.articleid});
                 });
             }, function(err, result) {
                 if (err)
                     console.log(err);
                 else {
                     res.render('article', {
                         title: doc.title,
                         content: doc.content,
                         keywords: doc.keywords,
                         recommends: result 
                     });
                 }
             });
         });
     }
 });
Пример #15
0
    app.get('/search/:value', function(req, res) {

        console.log('searching.......................', req.params.value);
        $("database.collection").find({
            $or: [{
                "title": {
                    $exists: true
                }
            }, {
                "name": {
                    $exists: true
                }
            }]
        }, function(r) {
            //console.log('from db', r, r.documents, r.numberReturned);
            var result = [];
            for (var i = 0, l = r.documents.length; i < l; i++) {
                //console.log('diff,',req.params.value,r.documents[i].title||r.documents[i].name);
                if ((!!r.documents[i].title && r.documents[i].title.indexOf(req.params.value) > -1) || (!!r.documents[i].name && r.documents[i].name.indexOf(req.params.value) > -1)) {
                    result.push(r.documents[i]);
                }
            }
            console.log('result', result);
            res.send(result);
        });
    })
Пример #16
0
/*
 * 1.不需要登录状态
 * 2.显示用户与登录用户不一致
 */
function renderHome(req, res) {
    var userid = req.params.userid

    if (userid && userid.length == 24) {
        var query = {
            _id: ObjectID(userid)
        }

        $('oneandseven.users').find(1, query, function(reply) {
            if (reply.numberReturned) {
                res.render('home', {
                    title: settings.title,
                    user: req.session.user,
                    currentUser: reply.documents[0],
                    success: req.flash('success').toString(),
                    error: req.flash('error').toString()
                })
            } else {
                req.flash('error', '不存在该用户')
                res.redirect('/error')
            }
        })
    } else {
        req.flash('error', '参数错误')
        res.redirect('/error')
    }   
}
Пример #17
0
/*
 * 1.需要登录状态,接口判断登录
 */
function unfollow(req, res) {
    if (!req.session.user) {
        return res.json({errcode: 4, errmsg: '未登录'})
    }

    var feedid = req.body.userid
    var userid = req.session.user._id

    if (feedid && userid && feedid.length == 24 && userid.length == 24) {
        var query = {
            feedid: feedid,
            userid: userid
        }

        $('oneandseven.follow').remove(query)
        $('oneandseven.follow').find(1, query, function(reply) {
            var errcode
            var errmsg
            if (reply.numberReturned) {
                errcode = 2
                errmsg = '取消关注发生错误'
            } else {
                errcode = 0
                errmsg = '取消关注成功'

                $('oneandseven.users').update({
                    _id: ObjectID(userid)
                }, {
                    '$inc': {
                        "follow": -1
                    }
                })

                $('oneandseven.users').update({
                    _id: ObjectID(feedid)
                }, {
                    '$inc': {
                        "fans": -1
                    }
                })
            }
            res.json({errcode: errcode, errmsg: errmsg})
        })
    } else {
        res.json({errcode: 1, errmsg: '参数错误'})
    }
}
Пример #18
0
							client.uploadFile(writepath, {key: utils.generateFilename(req.session.user._id, format)}, function(err, result) {
					            if (err || !result) {
					            	_handleError(req, res, '图片上传发生错误', path, writepath)
					            }

					            var query = {
					            	_id: ObjectID(req.session.user._id),
					            }

					            var doc = {
					            	avatar: result.url
					            }

					            if (fs.existsSync(path) && fs.existsSync(writepath)) {
					            	fs.unlinkSync(path)
					            	fs.unlinkSync(writepath)
					            }


					            $('oneandseven.users').find(1, query, function(reply) {
					            	if (reply.numberReturned) {

							            var picture = reply.documents[0].avatar
							            

					            		$('oneandseven.users').update(query, {
							            	'$set': doc
							            })
							            $('oneandseven.users').find(1, {
							            	_id: query._id,
							            	avatar: doc.avatar
							            }, function(reply) {
							            	if (reply.numberReturned) {
							            		if (picture && ~picture.indexOf('qiniudn.com')) {
									                var name = picture.split('qiniudn.com/')[1]
									                client.delete(name, function(err) {
									                    console.log(err)
									                })
									            } else if (picture && ~picture.indexOf('clouddn.com')) {
									                var name = picture.split('clouddn.com/')[1]
									                client.delete(name, function(err) {
									                    console.log(err)
									                })
									            }
							            		req.session.user.avatar = result.url
								                req.flash('success', '头像修改成功')
								                res.redirect('/set/avatar')
							            	} else {
							            		req.flash('error', '数据更新发生错误')
							                    res.redirect('/set/avatar')
							            	}
							            })
					            	} else {
					            		req.flash('error', '用户不存在')
					                    res.redirect('/set/avatar')
					            	}
					            })
					        })
Пример #19
0
 }, function(r) {
     if (r.numberReturned > 1) {
         for (var i = 1, l = r.numberReturned; i < l; i++) {
             $("database.collection").remove({
                 '_id': r.documents[i]['_id']
             })
         }
     }
 });
Пример #20
0
// API
/*
 * 1.需要登录状态,接口判断登录
 */
function follow(req, res) {
    if (req.session.user) {
        var feedid = req.body.userid
        var userid = req.session.user._id

        if (feedid && userid && feedid.length == 24 && userid.length == 24) {
            if (feedid == userid) {
                return res.json({errcode: 5, errmsg: '不能关注自己'})
            }

            var query = {
                userid: userid,
                feedid: feedid
            }

            $('oneandseven.follow').find(1, query, function(reply) {
                if (reply.numberReturned) {
                    return res.json({errcode: 3, errmsg: '已经关注过了'})
                }

                var doc = {
                    time: new Date(),
                    userid: userid,
                    feedid: feedid
                }

                $('oneandseven.follow').save(doc)
                $('oneandseven.follow').find(1, doc, function(reply) {
                    if (reply.numberReturned) {
                        $('oneandseven.users').update({
                            _id: ObjectID(userid)
                        }, {
                            '$inc': {
                                "follow": 1
                            }
                        })

                        $('oneandseven.users').update({
                            _id: ObjectID(feedid)
                        }, {
                            '$inc': {
                                "fans": 1
                            }
                        })
                        res.json({errcode: 0, errmsg: '关注成功'})
                    } else {
                        res.json({errcode: 2, errmsg: '关注发生错误'})
                    }
                })
            })
        } else {
            res.json({errcode: 1, errmsg: '参数错误'})
        }
    } else {
        res.json({errcode: 4, errmsg: '未登录'})
    }
}
Пример #21
0
module.exports = function(cb) {
    console.log('routes.getUsers trying to get users');
    $("database.collection").find({
        "user": {
            $exists: true
        }
    }, function(r) {
        cb(r.documents);
    });
}
Пример #22
0
 this.parseData = function(stream) {
   // parse the full page of data
   console.log("all done, parsing the page");
   var j = JSON.parse(this.data);
   console.log("num of repos on this page " + j.length);
   for (i in j) { 
     console.log("saving " + j[i]);
     m("mozdata.repos").save(j[i]); 
   }
 }
Пример #23
0
 app.get('/getuser', function(req, res) {
     $("database.collection").find({
         "user": {
             $exists: true
         }
     }, function(r) {
         // console.log(r.documents);
         res.send(r.documents);
     });
 });
Пример #24
0
function delTag(req, res) {
    var tagid = req.body.tagid

    if (tagid && tagid.length == 24) {
        var query = {
            tagid: tagid
        }

        $('oneandseven.notes').find(1, query, function(reply) {
            if (reply.numberReturned) {
                res.json({errcode: 3, errmsg: '标签下面存在多条笔记'})
            } else {
                var query = {
                    userid: req.session.user._id,
                    _id: ObjectID(tagid)
                }

                $('oneandseven.tags').find(1, query, function(reply) {
                    var picture = reply.documents[0].picture
                    if (picture) {
                        if (~picture.indexOf('qiniudn.com')) {
                            var name = picture.split('qiniudn.com/')[1]
                            // 要的不是完整路径而是文件名
                            client.delete(name, function(err) {
                                console.log(err)
                            })
                        } else if (~picture.indexOf('clouddn.com')) {
                            var name = picture.split('clouddn.com/')[1]
                            client.delete(name, function(err) {
                                console.log(err)
                            })
                        }
                    }

                    $('oneandseven.tags').remove(query)
                    $('oneandseven.tags').find(1, query, function(reply) {
                        var errcode
                        var errmsg
                        if (reply.numberReturned) {
                            errcode = 2
                            errmsg = '删除标签发生错误'
                        } else {
                            errcode = 0
                            errmsg = '删除标签成功'
                        }

                        res.json({errcode: errcode, errmsg: errmsg})
                    })
                })
            }
        })
    } else {
        res.json({errcode: 1, errmsg: '参数错误'})
    }
}
Пример #25
0
function updatePassword(req, res) {
    var oldPassword    = req.body.oldPassword
    var newPassword    = req.body.newPassword
    var newPassword_re = req.body['newPassword-repeat'] 

    if (!oldPassword || !newPassword || !newPassword_re) {
        req.flash('error', '参数错误')
        return res.redirect('/set/password')
    }

    if (newPassword != newPassword_re) {
        req.flash('error', '两次输入的密码不一致')
        return res.redirect('/set/password')
    }

    // 生成密码的 md5 值
    var md5 = crypto.createHash('md5')
    var oldPassword_md5 = md5.update(oldPassword).digest('hex')
    
    var md5 = crypto.createHash('md5')
    var newPassword_md5 = md5.update(newPassword).digest('hex')

    var query = {
        _id: ObjectID(req.session.user._id),
        password: oldPassword_md5
    }

    var doc = {
        password: newPassword_md5
    }
    
    $('oneandseven.users').find(1, query, function(reply) {
        if (reply.numberReturned) {
            $('oneandseven.users').update(query, {
                '$set': doc
            })
            $('oneandseven.users').find(1, {
                _id: query._id,
                password: doc.password
            }, function(reply) {
                if (reply.numberReturned) {
                    req.flash('success', '修改成功')
                } else {
                    req.flash('error', '修改发生错误')
                }

                res.redirect('/set/password')
            })
        } else {
            req.flash('error', '原密码不正确')
            return res.redirect('/set/password')
        }
    })
}
Пример #26
0
function Table(name) {
	var dbname = 'test'
	if (Config.database && Config.database.name) {
		dbname = Config.database.name
	}

	if (!tableHash[name])
		tableHash[name] = Db(dbname + '.' +name)

	return tableHash[name]
}
Пример #27
0
  db("search.urls").find(nbUrls, function (reply) {
    var documents = reply.documents;
    expectedFinished = documents.length;

    for (var i = documents.length - 1; i >= 0; i--) {

      request(documents[i], get_page_info);
      db("search.urls").remove(documents[i], true);

    }

  });
Пример #28
0
                $('oneandseven.follow').find(1, doc, function(reply) {
                    if (reply.numberReturned) {
                        $('oneandseven.users').update({
                            _id: ObjectID(userid)
                        }, {
                            '$inc': {
                                "follow": 1
                            }
                        })

                        $('oneandseven.users').update({
                            _id: ObjectID(feedid)
                        }, {
                            '$inc': {
                                "fans": 1
                            }
                        })
                        res.json({errcode: 0, errmsg: '关注成功'})
                    } else {
                        res.json({errcode: 2, errmsg: '关注发生错误'})
                    }
                })
Пример #29
0
    $('oneandseven.users').find(1, query, function(reply) {
        if (reply.numberReturned) {
            $('oneandseven.users').update(query, {
                '$set': doc
            })
            $('oneandseven.users').find(1, {
                _id: query._id,
                password: doc.password
            }, function(reply) {
                if (reply.numberReturned) {
                    req.flash('success', '修改成功')
                } else {
                    req.flash('error', '修改发生错误')
                }

                res.redirect('/set/password')
            })
        } else {
            req.flash('error', '原密码不正确')
            return res.redirect('/set/password')
        }
    })
Пример #30
0
function getTags(req, res) {
    var category  = req.body.category
    var userid    = req.body.userid

    var diyfilter = req.body.diyfilter
    var review    = req.body.review
    var page      = req.body.page || 1
    var limit     = parseInt(req.body.limit, 10) || 10

    if (category && userid && userid.length == 24) {
        var query = {
            userid: userid, 
            categoryid: category
        }

        if (review) {
            query.review = review
        }

        if (diyfilter && diyfilter === '0') {
            query.diyfilterid = {
                "$in": [undefined, "0"]
            }
        } else if (diyfilter && diyfilter.length == 24) {
            query.diyfilterid = diyfilter
        }

        // 如果不是标签创建者始终请求公开的标签
        if (!req.session.user || req.session.user._id != userid) {
            query.privacy = {
                "$in": [undefined, "0"]
            }
        }

        $('oneandseven.tags').find(query, {}, {
            lim: limit + 1,
            skip: (page - 1) * limit,
            sort: {
                time: -1
            }
        }, function(reply) {
            if (reply.numberReturned) {
                res.json({tags: reply.documents, total: reply.numberReturned})
            } else {
                res.json({errcode: 2, errmsg: '没有标签'})
            }
        })
    } else {
        res.json({errcode: 1, errmsg: '缺少参数'})
    }
}