"use strict";
var async = require('async'),
plugins = require('../plugins');
var admin = {};
admin.get = function(callback) {
async.parallel({
areas: function(next) {
var defaultAreas = [
{ name: 'Global Sidebar', template: 'global', location: 'sidebar' },
{ name: 'Global Header', template: 'global', location: 'header' },
{ name: 'Global Footer', template: 'global', location: 'footer' },
{ name: 'Group Page (Left)', template: 'groups/details.tpl', location: 'left'},
{ name: 'Group Page (Right)', template: 'groups/details.tpl', location: 'right'}
];
plugins.fireHook('filter:widgets.getAreas', defaultAreas, next);
},
widgets: function(next) {
plugins.fireHook('filter:widgets.getWidgets', [], next);
}
}, function(err, widgetData) {
if (err) {
return callback(err);
}
widgetData.areas.push({ name: 'Draft Zone', template: 'global', location: 'drafts' });
async.each(widgetData.areas, function(area, next) {
require('./index').getArea(area.template, area.location, function(err, areaData) {
area.data = areaData;
next(err);
});
}, function(err) {
if (err) {
return callback(err);
}
for (var w in widgetData.widgets) {
if (widgetData.widgets.hasOwnProperty(w)) {
// if this gets anymore complicated, it needs to be a template
widgetData.widgets[w].content += "