UNPKG

sheercms

Version:

Sheer Cliff CMS is a simple and powerful content management system (CMS) for Node JS.

66 lines (60 loc) 2.03 kB
var logger = require('../logger'); var config = require('../config'); //var api = require('../api'); //var mongoose = require('mongoose'); var S = require('string'); var util = require('../utilities'); var fs = require('fs'); var path_mod = require('path'); //var async = require('async'); /* category: not currently used callback: err, icons */ module.exports.getIcons = function(category, callback) { try { if (callback) { var dir = util.resolvePath(config.settings.icons_directory); var baseUrl = config.settings.icons_url; if (!S(baseUrl).endsWith('/')) baseUrl += '/'; console.log('dir=' + dir); console.log('baseUrl=' + baseUrl); //read the files in this directory fs.readdir(dir, function (err, files) { try { if (err) { logger.error(err); callback(err); } else { var icons = []; for (var i = 0; i < files.length; i++) { var f = files[i]; var ext = path_mod.extname(f).toLowerCase(); if (ext === '.jpg' || ext === '.jpeg' || ext === '.png' || ext === '.gif') { icons.push({ name: f, url: baseUrl + f, category: '' }); } } callback(null, icons); } } catch(e) { logger.error(e); callback(e); } }); } else { logger.warn('getIcons called without callback.'); } } catch(e) { logger.error(e); if (callback) callback(e); } };