diff --git a/.gitignore b/.gitignore index 4dd9ec73..a9996644 100755 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ server/config/api_key.js server/config/mongo_config.js server/config/cert_config.js server/config/recaptcha.js +server/config/analytics.js server/public/assets/dist/callback.min.js server/public/assets/dist/embed.min.js server/public/assets/dist/main.min.js diff --git a/README.md b/README.md index 9241952a..6e002ebb 100755 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ mongo_config.js in ```/server/config```. There are ```*.example.js``` files for all the ones mentioned above. If you're going to deploy the server with a certificate, you also need to create the ```cert_config.js``` in ```/server/config/```. If you want the mailing to work, take a look at ```mailconfig.example.js``` and ```recaptcha.example.js```. You'll need ```mailconfig.js``` and ```recaptcha.js``` for this to work. +If you want to use Google Analytics, have a look at ```analytics.example.js``` in ```server/config/```. + Use ```$ npm start``` to start the server. ### About diff --git a/gulpfile.js b/gulpfile.js index 6dabce20..31dd0c49 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -4,7 +4,7 @@ var gulp = require('gulp'), concat = require('gulp-concat'); gulp.task('js', function () { - gulp.src(['server/VERSION.js', 'server/public/assets/js/*.js', '!server/public/assets/js/embed*', '!server/public/assets/js/remotecontroller.js', '!server/public/assets/js/callback.js']) + gulp.src(['server/VERSION.js', 'server/config/api_key.js', 'server/public/assets/js/*.js', '!server/public/assets/js/embed*', '!server/public/assets/js/remotecontroller.js', '!server/public/assets/js/callback.js']) .pipe(uglify({ mangle: true, compress: true, @@ -15,7 +15,7 @@ gulp.task('js', function () { }); gulp.task('embed', function () { - gulp.src(['server/VERSION.js', 'server/public/assets/js/player.js', 'server/public/assets/js/helpers.js', 'server/public/assets/js/playercontrols.js', 'server/public/assets/js/list.js', 'server/public/assets/js/embed.js', '!server/public/assets/js/frontpage*', '!server/public/assets/js/remotecontroller.js', 'server/public/assets/js/hostcontroller.js']) + gulp.src(['server/VERSION.js', 'server/config/api_key.js', 'server/public/assets/js/player.js', 'server/public/assets/js/helpers.js', 'server/public/assets/js/playercontrols.js', 'server/public/assets/js/list.js', 'server/public/assets/js/embed.js', '!server/public/assets/js/frontpage*', '!server/public/assets/js/remotecontroller.js', 'server/public/assets/js/hostcontroller.js']) .pipe(uglify({ mangle: true, compress: true, @@ -26,7 +26,7 @@ gulp.task('embed', function () { }); gulp.task('callback', function () { - gulp.src(['server/VERSION.js', 'server/public/assets/js/callback.js']) + gulp.src(['server/VERSION.js', 'server/config/api_key.js', 'server/public/assets/js/callback.js']) .pipe(uglify({ mangle: true, compress: true, @@ -41,7 +41,7 @@ gulp.task('build', function() { }) gulp.task('remotecontroller', function () { - gulp.src(['server/VERSION.js', 'server/public/assets/js/remotecontroller.js']) + gulp.src(['server/VERSION.js', 'server/config/api_key.js', 'server/public/assets/js/remotecontroller.js']) .pipe(uglify({ mangle: true, compress: true, diff --git a/server/config/analytics.example.js b/server/config/analytics.example.js new file mode 100644 index 00000000..55b17d48 --- /dev/null +++ b/server/config/analytics.example.js @@ -0,0 +1,3 @@ +var analytics = "xxxx"; + +module.exports = analytics; diff --git a/server/config/api_key.example.js b/server/config/api_key.example.js index 59fd2d6a..cf514185 100644 --- a/server/config/api_key.example.js +++ b/server/config/api_key.example.js @@ -1,3 +1,5 @@ -var key = "xxxx"; +var api_key = "xxxx"; -module.exports = key; +try { + module.exports = api_key; +} catch(e) {} diff --git a/server/public/assets/js/listeners.js b/server/public/assets/js/listeners.js index 8cc23911..e3913d77 100755 --- a/server/public/assets/js/listeners.js +++ b/server/public/assets/js/listeners.js @@ -3,7 +3,6 @@ var w_p = true; var hasadmin = 0; var list_html = $("#list-song-html").html(); var unseen = false; -var api_key = "***REMOVED***"; var searching = false; var time_regex = /P((([0-9]*\.?[0-9]*)Y)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)W)?(([0-9]*\.?[0-9]*)D)?)?(T(([0-9]*\.?[0-9]*)H)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)S)?)?/; var conf = []; diff --git a/server/public/assets/js/search.js b/server/public/assets/js/search.js index 1b5c796d..14c6db1b 100755 --- a/server/public/assets/js/search.js +++ b/server/public/assets/js/search.js @@ -38,7 +38,7 @@ var Search = { if(search_input !== ""){ searching = true; var keyword= encodeURIComponent(search_input); - var yt_url = "https://www.googleapis.com/youtube/v3/search?key="+api_key+"&videoEmbeddable=true&part=id&type=video&order=viewCount&safeSearch=none&maxResults=25"; + var yt_url = "https://www.googleapis.com/youtube/v3/search?key="+api_key+"&videoEmbeddable=true&part=id&type=video&order=relevance&safeSearch=none&maxResults=25"; yt_url+="&q="+keyword; if(music)yt_url+="&videoCategoryId=10"; if(pagination) yt_url += "&pageToken=" + pagination; diff --git a/server/public/layouts/client/main.handlebars b/server/public/layouts/client/main.handlebars index a87cdcd6..d22342cf 100644 --- a/server/public/layouts/client/main.handlebars +++ b/server/public/layouts/client/main.handlebars @@ -40,7 +40,7 @@ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', '***REMOVED***', 'auto'); + ga('create', '{{{ analytics }}}', 'auto'); } diff --git a/server/routing/client/router.js b/server/routing/client/router.js index 1503ef21..625ed940 100644 --- a/server/routing/client/router.js +++ b/server/routing/client/router.js @@ -3,7 +3,12 @@ var router = express.Router(); var path = require('path'); var year = new Date().getYear()+1900; var path = require('path'); - +var analytics = "xx"; +try { + analytics = require(path.join(path.join(__dirname, '../../config/'), 'analytics.js')); +} catch(e) { + console.log("No analytics-id found"); +} try { var Recaptcha = require('express-recaptcha'); var recaptcha_config = require(path.join(path.join(__dirname, '../../config/'), 'recaptcha.js')); @@ -52,7 +57,8 @@ function root(req, res, next) { var data = { year: year, javascript_file: "remote.min.js", - captcha: res.recaptcha + captcha: res.recaptcha, + analytics: analytics } res.render('layouts/client/remote', data); } else if(subdomain[0] == "www") { @@ -61,7 +67,8 @@ function root(req, res, next) { var data = { year: year, javascript_file: "main.min.js", - captcha: res.recaptcha + captcha: res.recaptcha, + analytics: analytics } res.render('layouts/client/frontpage', data); } @@ -83,7 +90,8 @@ function channel(req, res, next) { var data = { year: year, javascript_file: "remote.min.js", - captcha: res.recaptcha + captcha: res.recaptcha, + analytics: analytics } res.render('layouts/client/remote', data); } else if(subdomain.length >= 2 && subdomain[0] == "www") { @@ -100,6 +108,7 @@ function channel(req, res, next) { year: year, javascript_file: "main.min.js", captcha: res.recaptcha, + analytics: analytics }