Skip to content
Snippets Groups Projects
Commit e6c9ee5c authored by Rodrigo Nascimento's avatar Rodrigo Nascimento
Browse files

Detect if system is runing GM or IM, add info to RocketChat.Info and update setting to alert user

parent f61ed69d
No related branches found
No related tags found
No related merge requests found
......@@ -4,12 +4,50 @@ fs = Npm.require('fs')
path = Npm.require('path')
mkdirp = Npm.require('mkdirp')
gm = Npm.require('gm')
exec = Npm.require('child_process').exec
# Fix problem with usernames being converted to object id
Grid.prototype.tryParseObjectId = -> false
RocketChatFile =
gm: gm
enabled: undefined
enable: ->
RocketChatFile.enabled = true
RocketChat.settings.updateOptionsById 'Accounts_AvatarResize', {alert: undefined}
disable: ->
RocketChatFile.enabled = false
RocketChat.settings.updateOptionsById 'Accounts_AvatarResize', {alert: 'The_image_resize_will_not_work_because_we_can_not_detect_ImageMagick_or_GraphicsMagick_installed_in_your_server'}
exec 'gm version', Meteor.bindEnvironment (error, stdout, stderr) ->
if not error? and stdout.indexOf('GraphicsMagick') > -1
RocketChatFile.enable()
RocketChat.Info.GraphicsMagick =
enabled: true
version: stdout
else
RocketChat.Info.GraphicsMagick =
enabled: false
exec 'convert -version', Meteor.bindEnvironment (error, stdout, stderr) ->
if not error? and stdout.indexOf('ImageMagick') > -1
if RocketChatFile.enabled isnt true
# Enable GM to work with ImageMagick if no GraphicsMagick
RocketChatFile.gm = RocketChatFile.gm.subClass({imageMagick: true})
RocketChatFile.enable()
RocketChat.Info.ImageMagick =
enabled: true
version: stdout
else
if RocketChatFile.enabled isnt true
RocketChatFile.disable()
RocketChat.Info.ImageMagick =
enabled: false
RocketChatFile.bufferToStream = (buffer) ->
bufferStream = new stream.PassThrough()
......
......@@ -8,11 +8,13 @@ Package.describe({
Package.onUse(function(api) {
api.versionsFrom('1.0');
api.use(['coffeescript']);
api.use('rocketchat:lib');
api.use('rocketchat:version');
api.use('coffeescript');
api.addFiles('file.server.coffee', ['server']);
api.addFiles('file.server.coffee', 'server');
api.export(['RocketChatFile'], ['server']);
api.export('RocketChatFile', 'server');
});
Npm.depends({
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment