mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-12 17:05:51 +01:00
admin routes and fixes
This commit is contained in:
@@ -246,7 +246,6 @@ var socket,
|
||||
}
|
||||
}, false);
|
||||
|
||||
$.getScript(RELATIVE_PATH + '/src/forum/footer.js');
|
||||
|
||||
addTouchEvents();
|
||||
});
|
||||
|
||||
@@ -28,11 +28,13 @@
|
||||
|
||||
socket.emit('api:user.active.get');
|
||||
socket.on('api:user.active.get', function(data) {
|
||||
|
||||
var plural_users = parseInt(data.users) !== 1,
|
||||
plural_anon = parseInt(data.anon) !== 1;
|
||||
|
||||
active_users.innerHTML = 'There ' + (plural_users ? 'are' : 'is') + ' <strong>' + data.users + '</strong> user' + (plural_users ? 's' : '') + ' and <strong>' + data.anon + '</strong> guest' + (plural_anon ? 's' : '') + ' online';
|
||||
});
|
||||
|
||||
socket.emit('api:user.active.get_record');
|
||||
socket.on('api:user.active.get_record', function(data) {
|
||||
active_record.innerHTML = "most users ever online was <strong>" + data.record + "</strong> on <strong>" + (new Date(parseInt(data.timestamp,10))).toUTCString() + "</strong>";
|
||||
|
||||
@@ -43,4 +43,4 @@
|
||||
<div class="span3"><i class="icon-ambulance"></i></div><div class="span3"><i class="icon-h-sign"></i></div><div class="span3"><i class="icon-hospital"></i></div><div class="span3"><i class="icon-medkit"></i></div><div class="span3"><i class="icon-plus-sign-alt"></i></div><div class="span3"><i class="icon-stethoscope"></i></div><div class="span3"><i class="icon-user-md"></i></div>
|
||||
</div></div></div>
|
||||
|
||||
<script type="text/javascript" src="../../src/forum/admin/categories.js"></script>
|
||||
<script type="text/javascript" src="{relative_path}/src/forum/admin/categories.js"></script>
|
||||
@@ -3,29 +3,29 @@
|
||||
<head>
|
||||
<title>NodeBB Administration Panel</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link id="base-theme" href="/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
|
||||
<link href="/vendor/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
|
||||
<link rel="stylesheet" href="/vendor/fontawesome/css/font-awesome.min.css">
|
||||
<link id="base-theme" href="{cssSrc}" rel="stylesheet" media="screen">
|
||||
<link href="{relative_path}/vendor/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
|
||||
<link rel="stylesheet" href="{relative_path}/vendor/fontawesome/css/font-awesome.min.css">
|
||||
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
|
||||
<script type="text/javascript" src="/vendor/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="{relative_path}/vendor/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="http://code.jquery.com/qunit/qunit-git.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/qunit/qunit-git.css">
|
||||
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
|
||||
<script type="text/javascript" src="/src/app.js"></script>
|
||||
<script type="text/javascript" src="/src/templates.js"></script>
|
||||
<script type="text/javascript" src="/src/ajaxify.js"></script>
|
||||
<script src="/vendor/requirejs/require.js"></script>
|
||||
<script src="/vendor/bootbox/bootbox.min.js"></script>
|
||||
<script type="text/javascript" src="{relative_path}/socket.io/socket.io.js"></script>
|
||||
<script type="text/javascript" src="{relative_path}/src/app.js"></script>
|
||||
<script type="text/javascript" src="{relative_path}/src/templates.js"></script>
|
||||
<script type="text/javascript" src="{relative_path}/src/ajaxify.js"></script>
|
||||
<script src="{relative_path}/vendor/requirejs/require.js"></script>
|
||||
<script src="{relative_path}/vendor/bootbox/bootbox.min.js"></script>
|
||||
<script>
|
||||
require.config({
|
||||
baseUrl: "/src/modules",
|
||||
baseUrl: "{relative_path}/src/modules",
|
||||
waitSeconds: 3
|
||||
});
|
||||
</script>
|
||||
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
|
||||
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/css/style.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/admin.css" />
|
||||
<link rel="stylesheet" type="text/css" href="{relative_path}/css/style.css" />
|
||||
<link rel="stylesheet" type="text/css" href="{relative_path}/css/admin.css" />
|
||||
</head>
|
||||
|
||||
<body class="admin">
|
||||
@@ -66,32 +66,32 @@
|
||||
<div class="well sidebar-nav">
|
||||
<ul class="nav nav-list">
|
||||
<li class="nav-header">NodeBB</li>
|
||||
<li class='active'><a href='/admin/index'><i class='icon-home'></i> Home</a></li>
|
||||
<li class=''><a href='/admin/categories'><i class='icon-folder-close-alt'></i> Categories</a></li>
|
||||
<li class=''><a href='/admin/users/latest'><i class='icon-user'></i> Users</a></li>
|
||||
<li class=''><a href='/admin/topics'><i class='icon-book'></i> Topics</a></li>
|
||||
<li class=''><a href='/admin/themes'><i class='icon-th'></i> Themes</a></li>
|
||||
<li class=''><a href='/admin/settings'><i class='icon-cogs'></i> Settings</a></li>
|
||||
<li class=''><a href='/admin/redis'><i class='icon-hdd'></i> Redis</a></li>
|
||||
<li class=''><a href="/admin/motd"><i class="icon-comment"></i> MOTD</a></li>
|
||||
<li class='active'><a href='{relative_path}/admin/index'><i class='icon-home'></i> Home</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/categories'><i class='icon-folder-close-alt'></i> Categories</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/users/latest'><i class='icon-user'></i> Users</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/topics'><i class='icon-book'></i> Topics</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/themes'><i class='icon-th'></i> Themes</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/settings'><i class='icon-cogs'></i> Settings</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/redis'><i class='icon-hdd'></i> Redis</a></li>
|
||||
<li class=''><a href="{relative_path}/admin/motd"><i class="icon-comment"></i> MOTD</a></li>
|
||||
|
||||
<li class="nav-header">Social Authentication</li>
|
||||
<li class=''><a href='/admin/twitter'><i class='icon-twitter-sign'></i> Twitter</a></li>
|
||||
<li class=''><a href='/admin/facebook'><i class='icon-facebook-sign'></i> Facebook</a></li>
|
||||
<li class=''><a href='/admin/gplus'><i class='icon-google-plus-sign'></i> Google+</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/twitter'><i class='icon-twitter-sign'></i> Twitter</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/facebook'><i class='icon-facebook-sign'></i> Facebook</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/gplus'><i class='icon-google-plus-sign'></i> Google+</a></li>
|
||||
<!--<li class="nav-header">Custom Modules</li>-->
|
||||
<!-- <li class=''><a href=''>Search</a></li> -->
|
||||
<li class="nav-header">Unit Tests</li>
|
||||
<ul class="nav nav-list">
|
||||
<li class=''><a href='/admin/testing/categories'>Categories</a></li>
|
||||
<li class=''><a href='/admin/testing/topics'>Topics</a></li>
|
||||
<li class=''><a href='/admin/testing/posts'>Posts</a></li>
|
||||
<li class=''><a href='/admin/testing/accounts'>Accounts</a></li>
|
||||
<li class=''><a href='/admin/testing/chat'>Chat</a></li>
|
||||
<li class=''><a href='/admin/testing/notifications'>Notifications</a></li>
|
||||
<li class=''><a href='/admin/testing/friends'>Friends</a></li>
|
||||
<li class=''><a href='/admin/testing/feed'>RSS Feed</a></li>
|
||||
<li class=''><a href='/admin/testing/emails'>Emails</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/testing/categories'>Categories</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/testing/topics'>Topics</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/testing/posts'>Posts</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/testing/accounts'>Accounts</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/testing/chat'>Chat</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/testing/notifications'>Notifications</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/testing/friends'>Friends</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/testing/feed'>RSS Feed</a></li>
|
||||
<li class=''><a href='{relative_path}/admin/testing/emails'>Emails</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div><!--/.well -->
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
ajaxify.register_events(['api:get_all_rooms']);
|
||||
socket.on('api:get_all_rooms', function(data) {
|
||||
|
||||
var active_users = document.getElementById('active_users'),
|
||||
total = 0;
|
||||
active_users.innerHTML = '';
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function () {
|
||||
|
||||
QUnit.init();
|
||||
asyncTest( "Loading Categories", function() {
|
||||
|
||||
|
||||
@@ -15,4 +15,4 @@
|
||||
<button class="btn btn-warning" id="revert_theme">Revert</button> This will remove any custom theme applied to your NodeBB, and restore the base theme.
|
||||
</p>
|
||||
|
||||
<script type="text/javascript" src="../../src/forum/admin/themes.js"></script>
|
||||
<script type="text/javascript" src="{relative_path}/src/forum/admin/themes.js"></script>
|
||||
@@ -9,7 +9,7 @@
|
||||
<button data-action="lock" class="btn"><i class="icon-lock"></i></button>
|
||||
<button data-action="delete" class="btn"><i class="icon-trash"></i></button>
|
||||
</div>
|
||||
<a target="_blank" href="../../topic/{topics.slug}">{topics.title}</a>
|
||||
<a target="_blank" href="{relative_path}/topic/{topics.slug}">{topics.title}</a>
|
||||
<ul>
|
||||
<li><i class="icon-time"></i> Posted {topics.relativeTime} ago by {topics.username}</li>
|
||||
<li><i class="icon-comments"></i> {topics.postcount} post(s)</li>
|
||||
@@ -23,4 +23,4 @@
|
||||
<button id="topics_loadmore" class="btn btn-large">Load More Topics</button>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="../../src/forum/admin/topics.js"></script>
|
||||
<script type="text/javascript" src="{relative_path}/src/forum/admin/topics.js"></script>
|
||||
@@ -44,4 +44,4 @@
|
||||
<input type="hidden" template-variable="yourid" value="{yourid}" />
|
||||
|
||||
|
||||
<script type="text/javascript" src="../../src/forum/admin/users.js"></script>
|
||||
<script type="text/javascript" src="{relative_path}/src/forum/admin/users.js"></script>
|
||||
|
||||
@@ -47,5 +47,9 @@
|
||||
</div>
|
||||
|
||||
<!-- END Forum Info -->
|
||||
<script>
|
||||
$.getScript(RELATIVE_PATH + '/src/forum/footer.js');
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -12,6 +12,14 @@ var user = require('./../user.js'),
|
||||
});
|
||||
}
|
||||
|
||||
Admin.build_header = function(res) {
|
||||
return templates['admin/header'].parse({
|
||||
cssSrc: global.config['theme:src'] || global.config.relative_path + '/vendor/bootstrap/css/bootstrap.min.css',
|
||||
csrf:res.locals.csrf_token,
|
||||
relative_path: global.config.relative_path
|
||||
});
|
||||
}
|
||||
|
||||
Admin.create_routes = function(app) {
|
||||
|
||||
(function() {
|
||||
@@ -20,7 +28,7 @@ var user = require('./../user.js'),
|
||||
for (var i=0, ii=routes.length; i<ii; i++) {
|
||||
(function(route) {
|
||||
app.get('/admin/' + route, Admin.isAdmin, function(req, res) {
|
||||
res.send(templates['admin/header'] + app.create_route('admin/' + route) + templates['admin/footer']);
|
||||
res.send(Admin.build_header(res) + app.create_route('admin/' + route) + templates['admin/footer']);
|
||||
});
|
||||
}(routes[i]));
|
||||
}
|
||||
@@ -30,7 +38,7 @@ var user = require('./../user.js'),
|
||||
for (var i=0, ii=unit_tests.length; i<ii; i++) {
|
||||
(function(route) {
|
||||
app.get('/admin/testing/' + route, Admin.isAdmin, function(req, res) {
|
||||
res.send(templates['admin/header'] + app.create_route('admin/testing/' + route) + templates['admin/footer']);
|
||||
res.send(Admin.build_header(res) + app.create_route('admin/testing/' + route) + templates['admin/footer']);
|
||||
});
|
||||
}(unit_tests[i]));
|
||||
}
|
||||
@@ -39,10 +47,11 @@ var user = require('./../user.js'),
|
||||
|
||||
//todo consolidate.
|
||||
app.get('/admin', Admin.isAdmin, function(req, res) {
|
||||
res.send(templates['admin/header'] + app.create_route('admin/index') + templates['admin/footer']);
|
||||
res.send(Admin.build_header(res) + app.create_route('admin/index') + templates['admin/footer']);
|
||||
});
|
||||
|
||||
app.get('/admin/index', Admin.isAdmin, function(req, res) {
|
||||
res.send(templates['admin/header'] + app.create_route('admin/index') + templates['admin/footer']);
|
||||
res.send(Admin.build_header(res) + app.create_route('admin/index') + templates['admin/footer']);
|
||||
});
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user