"use strict"; var path = require('path'), async = require('async'), fs = require('fs'), nconf = require('nconf'), user = require('./../user'), topics = require('./../topics'), posts = require('./../posts'), categories = require('./../categories'), meta = require('./../meta'), plugins = require('./../plugins'), utils = require('./../../public/src/utils'), pkg = require('./../../package.json'); function searchTerm(req, res, next) { if (!plugins.hasListeners('filter:search.query')) { return res.redirect('/404'); } function searchPosts(callback) { plugins.fireHook('filter:search.query', { index: 'post', query: req.params.term }, function(err, pids) { if (err) { return callback(err); } posts.getPostSummaryByPids(pids, false, callback); }); } function searchTopics(callback) { plugins.fireHook('filter:search.query', { index: 'topic', query: req.params.term }, function(err, tids) { if (err) { return callback(err); } topics.getTopicsByTids(tids, 0, callback); }); } async.parallel([searchPosts, searchTopics], function (err, results) { if (err) { return next(err); } if(!results) { results = []; results[0] = results[1] = []; } return res.json({ show_no_topics: results[1].length ? 'hide' : '', show_no_posts: results[0].length ? 'hide' : '', show_results: '', search_query: req.params.term, posts: results[0], topics: results[1], post_matches : results[0].length, topic_matches : results[1].length }); }); } function upload(req, res, filesIterator, next) { if(!req.user) { return res.json(403, {message:'not allowed'}); } var files = req.files.files; if(!Array.isArray(files)) { return res.json(500, {message: 'invalid files'}); } if(Array.isArray(files[0])) { files = files[0]; } function deleteTempFiles() { for(var i=0; i