From 27f874759ed48c07323d373aae3abcb9f5b14921 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 11 Aug 2013 12:45:44 -0400 Subject: [PATCH 1/6] added message about using "forever" module to run production version of nodebb --- nodebb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nodebb b/nodebb index b318989623..3733935784 100755 --- a/nodebb +++ b/nodebb @@ -1,4 +1,6 @@ #!/bin/bash clear -echo "Launching NodeBB in \"development\" mode" +echo "Launching NodeBB in \"development\" mode." +echo "To run the production build of NodeBB, please use \"forever\"." +echo "More Information: https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB" NODE_ENV=development supervisor --extensions 'node|js|tpl' -- app $1 \ No newline at end of file From 272806a25d35204e5989cdb9f2707c4502343813 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 11 Aug 2013 13:09:27 -0400 Subject: [PATCH 2/6] closed #159 - issue where theme listing would hang if a theme folder did not contain theme.json Also refactored theme socket event a bit --- public/src/forum/admin/themes.js | 5 ++--- src/meta.js | 5 +---- src/websockets.js | 4 ++-- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/public/src/forum/admin/themes.js b/public/src/forum/admin/themes.js index 66b04a9de2..9328c85678 100644 --- a/public/src/forum/admin/themes.js +++ b/public/src/forum/admin/themes.js @@ -39,7 +39,7 @@ var nodebb_admin = (function(nodebb_admin) { (function() { var scriptEl = document.createElement('script'); - scriptEl.src = 'http://api.bootswatch.com?callback=nodebb_admin.themes.render'; + scriptEl.src = 'http://api.bootswatch.com/2/?callback=nodebb_admin.themes.render'; document.body.appendChild(scriptEl); var bootstrapThemeContainer = document.querySelector('#bootstrap_themes'), @@ -81,7 +81,7 @@ var nodebb_admin = (function(nodebb_admin) { }, false); // Installed Themes - socket.once('api:admin:themes.getInstalled', function(themes) { + socket.emit('api:admin.themes.getInstalled', function(themes) { var instListEl = document.getElementById('installed_themes'), themeFrag = document.createDocumentFragment(), liEl = document.createElement('li'); @@ -108,5 +108,4 @@ var nodebb_admin = (function(nodebb_admin) { instListEl.innerHTML = ''; instListEl.appendChild(themeFrag); }); - socket.emit('api:admin:themes.getInstalled'); })(); \ No newline at end of file diff --git a/src/meta.js b/src/meta.js index 47ea895c4e..3ea054e314 100644 --- a/src/meta.js +++ b/src/meta.js @@ -49,7 +49,7 @@ var utils = require('./../public/src/utils.js'), themeArr.push(conf); next(); }); - } + } else next(); }); } else next(); }); @@ -57,9 +57,6 @@ var utils = require('./../public/src/utils.js'), callback(err, themeArr); }); }); - }, - saveViaGithub: function(repo_url, callback) { - // ... } } diff --git a/src/websockets.js b/src/websockets.js index 57b6e1973f..b3eb71850d 100644 --- a/src/websockets.js +++ b/src/websockets.js @@ -701,9 +701,9 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }), socket.emit('api:admin.user.search', null); }); - socket.on('api:admin:themes.getInstalled', function() { + socket.on('api:admin.themes.getInstalled', function(callback) { meta.themes.get(function(err, themeArr) { - socket.emit('api:admin:themes.getInstalled', themeArr); + callback(themeArr); }); }); From dd6c9e03cb55f181b70590648eed05fb3523b69b Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 11 Aug 2013 13:13:44 -0400 Subject: [PATCH 3/6] added message to admin panel if no themes are found --- public/css/admin.less | 4 ++++ public/src/forum/admin/themes.js | 39 +++++++++++++++++++------------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/public/css/admin.less b/public/css/admin.less index c56eeb74ce..9cb477f08e 100644 --- a/public/css/admin.less +++ b/public/css/admin.less @@ -85,6 +85,10 @@ &:hover { background-color: rgba(128, 128, 128, 0.2); } + + &.no-themes { + font-style: italic; + } } } diff --git a/public/src/forum/admin/themes.js b/public/src/forum/admin/themes.js index 9328c85678..762924cd4f 100644 --- a/public/src/forum/admin/themes.js +++ b/public/src/forum/admin/themes.js @@ -86,23 +86,30 @@ var nodebb_admin = (function(nodebb_admin) { themeFrag = document.createDocumentFragment(), liEl = document.createElement('li'); - for(var x=0,numThemes=themes.length;x' + - '
' + - '
' + - ' ' + - '' + + if (themes.length > 0) { + for(var x=0,numThemes=themes.length;x' + + '
' + + '
' + + ' ' + + '' + + '
' + + '

' + themes[x].name + '

' + + '

' + + themes[x].description + + (themes[x].url ? ' (Homepage)' : '') + + '

' + '
' + - '

' + themes[x].name + '

' + - '

' + - themes[x].description + - (themes[x].url ? ' (Homepage)' : '') + - '

' + - '
' + - '
'; - themeFrag.appendChild(liEl.cloneNode(true)); + '
'; + themeFrag.appendChild(liEl.cloneNode(true)); + } + } else { + // No themes found + liEl.className = 'no-themes'; + liEl.innerHTML = 'No installed themes found'; + themeFrag.appendChild(liEl); } instListEl.innerHTML = ''; From 26944ae686d666cce7e13c57406925f2739157e1 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 11 Aug 2013 13:22:48 -0400 Subject: [PATCH 4/6] addressed issue #158, where topic buttons in admin panel were not working correctly --- public/src/forum/admin/topics.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/public/src/forum/admin/topics.js b/public/src/forum/admin/topics.js index ba4ae12ea3..aebdb8e1c8 100644 --- a/public/src/forum/admin/topics.js +++ b/public/src/forum/admin/topics.js @@ -40,12 +40,12 @@ $(document).ready(function() { var topicEls = topicsListEl.querySelectorAll('li'), numTopics = topicEls.length; for(var x=0;x Date: Sun, 11 Aug 2013 13:23:41 -0400 Subject: [PATCH 5/6] removed debug comments --- public/src/forum/admin/topics.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/src/forum/admin/topics.js b/public/src/forum/admin/topics.js index aebdb8e1c8..3630d7701e 100644 --- a/public/src/forum/admin/topics.js +++ b/public/src/forum/admin/topics.js @@ -43,9 +43,9 @@ $(document).ready(function() { if (topicEls[x].getAttribute('data-pinned') === '1') topicEls[x].querySelector('[data-action="pin"]').className += ' active'; if (topicEls[x].getAttribute('data-locked') === '1') topicEls[x].querySelector('[data-action="lock"]').className += ' active'; if (topicEls[x].getAttribute('data-deleted') === '1') topicEls[x].querySelector('[data-action="delete"]').className += ' active'; - // topicEls[x].removeAttribute('data-pinned'); - // topicEls[x].removeAttribute('data-locked'); - // topicEls[x].removeAttribute('data-deleted'); + topicEls[x].removeAttribute('data-pinned'); + topicEls[x].removeAttribute('data-locked'); + topicEls[x].removeAttribute('data-deleted'); } }); From 04d94a746285c6b34ba89bc9cd94bed6bc2508ae Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 11 Aug 2013 13:27:05 -0400 Subject: [PATCH 6/6] turns out it was working as intended(tm) closed #158 --- public/src/forum/admin/topics.js | 37 +++++++++++++++----------------- src/websockets.js | 4 ++-- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/public/src/forum/admin/topics.js b/public/src/forum/admin/topics.js index 3630d7701e..d0c6608fef 100644 --- a/public/src/forum/admin/topics.js +++ b/public/src/forum/admin/topics.js @@ -32,6 +32,23 @@ $(document).ready(function() { socket.emit('api:admin.topics.getMore', { limit: 10, after: lastTid + }, function(topics) { + var btnEl = document.getElementById('topics_loadmore'); + + topics = JSON.parse(topics); + if (topics.length > 0) { + var html = templates.prepare(templates['admin/topics'].blocks['topics']).parse({ + topics: topics + }), + topicsListEl = document.querySelector('.topics'); + + topicsListEl.innerHTML += html; + btnEl.innerHTML = 'Load More Topics'; + } else { + // Exhausted all topics + btnEl.className += ' disabled'; + btnEl.innerHTML = 'No more topics'; + } }); } }, false); @@ -95,24 +112,4 @@ socket.on('api:topic.restore', function(response) { $(btnEl).removeClass('active'); } -}); - -socket.on('api:admin.topics.getMore', function(topics) { - var btnEl = document.getElementById('topics_loadmore'); - - topics = JSON.parse(topics); - console.log(topics); - if (topics.length > 0) { - var html = templates.prepare(templates['admin/topics'].blocks['topics']).parse({ - topics: topics - }), - topicsListEl = document.querySelector('.topics'); - - topicsListEl.innerHTML += html; - btnEl.innerHTML = 'Load More Topics'; - } else { - // Exhausted all topics - btnEl.className += ' disabled'; - btnEl.innerHTML = 'No more topics'; - } }); \ No newline at end of file diff --git a/src/websockets.js b/src/websockets.js index b3eb71850d..096d483176 100644 --- a/src/websockets.js +++ b/src/websockets.js @@ -663,9 +663,9 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }), }); }); - socket.on('api:admin.topics.getMore', function(data) { + socket.on('api:admin.topics.getMore', function(data, callback) { topics.getAllTopics(data.limit, data.after, function(topics) { - socket.emit('api:admin.topics.getMore', JSON.stringify(topics)); + callback(JSON.stringify(topics)); }); });