admin routes and fixes

v1.18.x
Baris Soner Usakli 12 years ago
parent d7597608d5
commit 2c5e9d47ad

@ -246,8 +246,7 @@ 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']);
});

Loading…
Cancel
Save