mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 02:55:58 +01:00 
			
		
		
		
	Merge remote-tracking branch 'origin/master' into webserver.js-refactor
Conflicts: public/templates/admin/themes.tpl src/meta.js src/routes/api.js
This commit is contained in:
		| @@ -1,15 +1,20 @@ | ||||
| define(['forum/admin/settings'], function(Settings) { | ||||
| 	var Themes = {}; | ||||
|  | ||||
| 	function highlightSelectedTheme(themeId) { | ||||
| 		$('#themes li[data-theme]').removeClass('btn-warning'); | ||||
| 		$('#themes li[data-theme="' + themeId + '"]').addClass('btn-warning'); | ||||
| 	} | ||||
|  | ||||
| 	Themes.init = function() { | ||||
| 		var scriptEl = $('<script />'); | ||||
| 		scriptEl.attr('src', 'http://api.bootswatch.com/3/?callback=bootswatchListener'); | ||||
| 		$('body').append(scriptEl); | ||||
|  | ||||
| 		var bootstrapThemeContainer = $('#bootstrap_themes'), | ||||
| 			installedThemeContainer = $('#installed_themes'), | ||||
| 			installedThemeContainer = $('#installed_themes'); | ||||
|  | ||||
| 			themeEvent = function(e) { | ||||
| 		function themeEvent(e) { | ||||
| 			var target = $(e.target), | ||||
| 				action = target.attr('data-action'); | ||||
|  | ||||
| @@ -26,6 +31,11 @@ define(['forum/admin/settings'], function(Settings) { | ||||
| 							id: themeId, | ||||
| 							src: cssSrc | ||||
| 						}, function(err) { | ||||
| 							if (err) { | ||||
| 								return app.alertError(err.message); | ||||
| 							} | ||||
| 							highlightSelectedTheme(themeId); | ||||
|  | ||||
| 							app.alert({ | ||||
| 								alert_id: 'admin:theme', | ||||
| 								type: 'success', | ||||
| @@ -37,7 +47,7 @@ define(['forum/admin/settings'], function(Settings) { | ||||
| 						break; | ||||
| 				} | ||||
| 			} | ||||
| 			}; | ||||
| 		} | ||||
|  | ||||
| 		bootstrapThemeContainer.on('click', themeEvent); | ||||
| 		installedThemeContainer.on('click', themeEvent); | ||||
| @@ -49,6 +59,10 @@ define(['forum/admin/settings'], function(Settings) { | ||||
| 						type: 'local', | ||||
| 						id: 'nodebb-theme-cerulean' | ||||
| 					}, function(err) { | ||||
| 						if (err) { | ||||
| 							return app.alertError(err.message); | ||||
| 						} | ||||
| 						highlightSelectedTheme('nodebb-theme-cerulean'); | ||||
| 						app.alert({ | ||||
| 							alert_id: 'admin:theme', | ||||
| 							type: 'success', | ||||
| @@ -59,7 +73,7 @@ define(['forum/admin/settings'], function(Settings) { | ||||
| 					}); | ||||
| 				} | ||||
| 			}); | ||||
| 		}, false); | ||||
| 		}); | ||||
|  | ||||
| 		// Installed Themes | ||||
| 		socket.emit('admin.themes.getInstalled', function(err, themes) { | ||||
| @@ -69,7 +83,11 @@ define(['forum/admin/settings'], function(Settings) { | ||||
|  | ||||
| 			var instListEl = $('#installed_themes').empty(), liEl; | ||||
|  | ||||
| 			if (themes.length > 0) { | ||||
| 			if (!themes.length) { | ||||
| 				instListEl.append($('<li/ >').addClass('no-themes').html('No installed themes found')); | ||||
| 				return; | ||||
| 			} | ||||
|  | ||||
| 			for (var x = 0, numThemes = themes.length; x < numThemes; x++) { | ||||
| 				liEl = $('<li/ >').attr({ | ||||
| 					'data-type': 'local', | ||||
| @@ -89,10 +107,8 @@ define(['forum/admin/settings'], function(Settings) { | ||||
|  | ||||
| 				instListEl.append(liEl); | ||||
| 			} | ||||
| 			} else { | ||||
| 				// No themes found | ||||
| 				instListEl.append($('<li/ >').addClass('no-themes').html('No installed themes found')); | ||||
| 			} | ||||
|  | ||||
| 			highlightSelectedTheme(config['theme:id']); | ||||
| 		}); | ||||
|  | ||||
| 		// Proper tabbing for "Custom CSS" field | ||||
|   | ||||
| @@ -309,7 +309,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { | ||||
| 			var bookmark = localStorage.getItem('topic:' + tid + ':bookmark'); | ||||
| 			if (window.location.hash) { | ||||
| 				Topic.scrollToPost(window.location.hash.substr(1), true); | ||||
| 			} else if (bookmark && (!config.usePagination || (config.usePagination && pagination.currentPage === 1))) { | ||||
| 			} else if (bookmark && (!config.usePagination || (config.usePagination && pagination.currentPage === 1)) && Topic.postCount > 1) { | ||||
| 				app.alert({ | ||||
| 					alert_id: 'bookmark', | ||||
| 					message: '[[topic:bookmark_instructions]]', | ||||
| @@ -1042,8 +1042,9 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { | ||||
| 				$('.progress-bar').width((index / Topic.postCount * 100) + '%'); | ||||
|  | ||||
| 				var currentBookmark = localStorage.getItem('topic:' + templates.get('topic_id') + ':bookmark'); | ||||
| 				if (!currentBookmark || parseInt(el.attr('data-pid'), 10) > parseInt(currentBookmark, 10)) { | ||||
| 				if (!currentBookmark || parseInt(el.attr('data-pid'), 10) >= parseInt(currentBookmark, 10)) { | ||||
| 					localStorage.setItem('topic:' + templates.get('topic_id') + ':bookmark', el.attr('data-pid')); | ||||
| 					app.removeAlert('bookmark'); | ||||
| 				} | ||||
|  | ||||
| 				if (!scrollingToPost) { | ||||
|   | ||||
| @@ -30,6 +30,7 @@ apiController.getConfig = function(req, res, next) { | ||||
| 	config.topicsPerPage = meta.config.topicsPerPage || 20; | ||||
| 	config.postsPerPage = meta.config.postsPerPage || 20; | ||||
| 	config.maximumFileSize = meta.config.maximumFileSize; | ||||
| 	config['theme:id'] = meta.config['theme:id']; | ||||
| 	config.defaultLang = meta.config.defaultLang || 'en_GB'; | ||||
| 	config.environment = process.env.NODE_ENV; | ||||
|  | ||||
|   | ||||
| @@ -207,9 +207,7 @@ | ||||
| 			multi.hgetall(keys[x]); | ||||
| 		} | ||||
|  | ||||
| 		multi.exec(function (err, replies) { | ||||
| 			callback(err, replies); | ||||
| 		}); | ||||
| 		multi.exec(callback); | ||||
| 	}; | ||||
|  | ||||
| 	module.getObjectField = function(key, field, callback) { | ||||
|   | ||||
| @@ -155,9 +155,7 @@ var fs = require('fs'), | ||||
|  | ||||
| 							db.setObject('config', themeData, next); | ||||
| 						} | ||||
| 					], function(err) { | ||||
| 						callback(err); | ||||
| 					}); | ||||
| 					], callback); | ||||
| 					break; | ||||
|  | ||||
| 				case 'bootswatch': | ||||
|   | ||||
		Reference in New Issue
	
	Block a user