mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
Multi-word channel-names and API-fixes
- Spaces and signs allowed in channel-name - Added missing functioncalls in RESTApi
This commit is contained in:
@@ -6,6 +6,10 @@ var ObjectId = mongojs.ObjectId;
|
||||
var token_db = mongojs("tokens");
|
||||
var cookieParser = require("cookie-parser");
|
||||
var db = require(pathThumbnails + '/handlers/db.js');
|
||||
var List = require(pathThumbnails + '/handlers/list.js');
|
||||
var Functions = require(pathThumbnails + '/handlers/functions.js');
|
||||
var Frontpage = require(pathThumbnails + '/handlers/frontpage.js');
|
||||
var Search = require(pathThumbnails + '/handlers/search.js');
|
||||
|
||||
var toShowChannel = {
|
||||
start: 1,
|
||||
@@ -533,7 +537,7 @@ router.route('/api/list/:channel_name/__np__').post(function(req, res) {
|
||||
|
||||
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
|
||||
var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]);
|
||||
var channel_name = req.params.channel_name;
|
||||
var channel_name = cleanChannelName(req.params.channel_name);
|
||||
req.body.userpass = req.body.userpass == "" ? "" : crypto.createHash('sha256').update(req.body.userpass, 'utf8').digest("base64");
|
||||
var userpass = req.body.userpass;
|
||||
var token = "";
|
||||
@@ -831,7 +835,7 @@ router.route('/api/list/:channel_name').get(function(req, res) {
|
||||
} ]
|
||||
}
|
||||
};
|
||||
var channel_name = req.params.channel_name;
|
||||
var channel_name = cleanChannelName(req.params.channel_name);
|
||||
db.collection(channel_name).aggregate([
|
||||
{
|
||||
"$match": { }
|
||||
@@ -866,7 +870,7 @@ router.route('/api/list/:channel_name/:video_id').get(function(req, res) {
|
||||
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
|
||||
res.header({"Content-Type": "application/json"});
|
||||
|
||||
var channel_name = req.params.channel_name;
|
||||
var channel_name = cleanChannelName(req.params.channel_name);
|
||||
var video_id = req.params.video_id;
|
||||
var searchQuery = {id: video_id};
|
||||
if(video_id == "__np__") {
|
||||
@@ -904,7 +908,7 @@ router.route('/api/conf/:channel_name').get(function(req, res) {
|
||||
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
|
||||
res.header({"Content-Type": "application/json"});
|
||||
|
||||
var channel_name = req.params.channel_name;
|
||||
var channel_name = cleanChannelName(req.params.channel_name);
|
||||
db.collection(channel_name + "_settings").find({ id: "config" }, toShowConfig, function(err, docs) {
|
||||
if(docs.length > 0 && docs[0].userpass == "" || docs[0].userpass == undefined) {
|
||||
var conf = docs[0];
|
||||
@@ -946,7 +950,7 @@ router.route('/api/conf/:channel_name').post(function(req, res) {
|
||||
}
|
||||
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
|
||||
var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]);
|
||||
var channel_name = req.params.channel_name;
|
||||
var channel_name = cleanChannelName(req.params.channel_name);
|
||||
req.body.userpass = req.body.userpass == "" ? "" : crypto.createHash('sha256').update(req.body.userpass, 'utf8').digest("base64");
|
||||
var userpass = req.body.userpass;
|
||||
|
||||
@@ -1068,7 +1072,7 @@ router.route('/api/list/:channel_name').post(function(req, res) {
|
||||
}
|
||||
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
|
||||
var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]);
|
||||
var channel_name = req.params.channel_name;
|
||||
var channel_name = cleanChannelName(req.params.channel_name);
|
||||
req.body.userpass = req.body.userpass == "" ? "" : crypto.createHash('sha256').update(req.body.userpass, 'utf8').digest("base64");
|
||||
var userpass = req.body.userpass;
|
||||
|
||||
@@ -1384,10 +1388,11 @@ function checkTimeout(guid, res, authorized, type, callback) {
|
||||
}
|
||||
|
||||
function cleanChannelName(channel_name) {
|
||||
var coll = emojiStrip(channel_name).toLowerCase();
|
||||
coll = coll.replace("_", "");
|
||||
coll = encodeURIComponent(coll).replace(/\W/g, '');
|
||||
coll = filter.clean(coll);
|
||||
var coll = Functions.removeEmojis(channel_name).toLowerCase();
|
||||
//coll = coll.replace("_", "");
|
||||
//coll = encodeURIComponent(coll).replace(/\W/g, '');
|
||||
coll = Functions.encodeChannelName(channel_name);
|
||||
//coll = filter.clean(coll);
|
||||
return coll;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ var path = require('path');
|
||||
var analytics = "xx";
|
||||
var mongojs = require('mongojs');
|
||||
var token_db = mongojs("tokens");
|
||||
var Functions = require(pathThumbnails + '/handlers/functions.js');
|
||||
try {
|
||||
analytics = require(path.join(path.join(__dirname, '../../config/'), 'analytics.js'));
|
||||
} catch(e) {
|
||||
@@ -177,9 +178,10 @@ function channel(req, res, next) {
|
||||
} else if(req.params.channel_name == "o_callback") {
|
||||
res.sendFile(path.join(pathThumbnails, '/public/assets/html/callback.html'));
|
||||
} else {
|
||||
|
||||
var data = {
|
||||
title: "404: File Not Found",
|
||||
list_name: capitalizeFirstLetter(req.params.channel_name),
|
||||
list_name: capitalizeFirstLetter(Functions.decodeChannelName(req.params.channel_name)),
|
||||
year: year,
|
||||
javascript_file: "main.min.js",
|
||||
captcha: res.recaptcha,
|
||||
@@ -194,7 +196,6 @@ function channel(req, res, next) {
|
||||
if(req.params.channel_name == "404") {
|
||||
res.status(404);
|
||||
}
|
||||
|
||||
res.render('layouts/client/channel', data);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user