Skip to content

Commit 460ed0b

Browse files
committed
Cleanup: Remove unused avatar code in admin path.
1 parent 47e81b4 commit 460ed0b

2 files changed

Lines changed: 0 additions & 211 deletions

File tree

htdocs/js/pages/admin/Users.class.js

Lines changed: 0 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -255,17 +255,6 @@ Page.Users = class Users extends Page.PageUtils {
255255
// edit user subpage
256256
this.loading();
257257

258-
// setup upload system
259-
ZeroUpload.setURL( '/api/app/admin_upload_avatar' );
260-
ZeroUpload.setMaxFiles( 1 );
261-
ZeroUpload.setMaxBytes( 1 * 1024 * 1024 ); // 1 MB
262-
ZeroUpload.setFileTypes( "image/jpeg", "image/png", "image/gif" );
263-
ZeroUpload.on('start', this.upload_start.bind(this) );
264-
ZeroUpload.on('progress', this.upload_progress.bind(this) );
265-
ZeroUpload.on('complete', this.upload_complete.bind(this) );
266-
ZeroUpload.on('error', this.upload_error.bind(this) );
267-
ZeroUpload.init();
268-
269258
app.api.post( 'user/admin_get_user', { username: args.username }, this.receive_user.bind(this), this.fullPageError.bind(this) );
270259
}
271260

@@ -329,71 +318,6 @@ Page.Users = class Users extends Page.PageUtils {
329318
Nav.go( '#ActivityLog?action=users&query=' + this.user.username );
330319
}
331320

332-
upload_avatar() {
333-
// upload profile pic using ZeroUpload
334-
ZeroUpload.chooseFiles({}, {
335-
csrf_token: app.csrf_token || '',
336-
username: this.user.username
337-
});
338-
}
339-
340-
upload_start(files, userData) {
341-
// avatar upload has started
342-
Dialog.showProgress( 0.0, "Uploading image..." );
343-
Debug.trace('avatar', "Upload started");
344-
}
345-
346-
upload_progress(progress) {
347-
// avatar is on its way
348-
Dialog.showProgress( progress.amount );
349-
Debug.trace('avatar', "Upload progress: " + progress.pct);
350-
}
351-
352-
upload_complete(response, userData) {
353-
// avatar upload has completed
354-
Dialog.hideProgress();
355-
Debug.trace('avatar', "Upload complete!", response.data);
356-
357-
var data = null;
358-
try { data = JSON.parse( response.data ); }
359-
catch (err) {
360-
app.doError("Image Upload Failed: JSON Parse Error: " + err);
361-
}
362-
363-
if (data && (data.code != 0)) {
364-
app.doError("Image Upload Failed: " + data.description);
365-
}
366-
367-
var avatar_url = '/api/app/avatar/' + this.user.username + '.png?size=128&random=' + Math.random();
368-
$('#d_eu_image').css( 'background-image', 'url(' + avatar_url + ')' );
369-
370-
this.triggerEditChange();
371-
}
372-
373-
upload_error(type, message, userData) {
374-
// avatar upload error
375-
Dialog.hideProgress();
376-
app.doError("Image Upload Failed: " + message);
377-
}
378-
379-
delete_avatar() {
380-
// delete user avatar
381-
var self = this;
382-
383-
app.api.post( 'app/admin_delete_avatar', {
384-
username: this.user.username
385-
},
386-
function(resp) {
387-
// finished deleting
388-
if (!self.active) return; // sanity
389-
390-
var avatar_url = '/api/app/avatar/' + self.user.username + '.png?size=128&random=' + Math.random();
391-
$('#d_eu_image').css( 'background-image', 'url(' + avatar_url + ')' );
392-
393-
self.triggerEditChange();
394-
} );
395-
}
396-
397321
do_save_user() {
398322
// save changes to user
399323
app.clearError();

lib/api/avatar.js

Lines changed: 0 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -61,76 +61,6 @@ class AvatarManagement {
6161
} ); // loaded session
6262
}
6363

64-
api_admin_upload_avatar(args, callback) {
65-
// admin only: upload avatar for any user
66-
var self = this;
67-
var params = Tools.mergeHashes( args.params, args.query );
68-
if (!this.requireMaster(args, callback)) return;
69-
if (!this.validateFiles(args, callback)) return;
70-
71-
if (!args.files['file1']) {
72-
return self.doError('avatar', "No file upload data found in request.", callback);
73-
}
74-
75-
if (!this.requireParams(params, {
76-
username: /^[\w\-\.]+$/
77-
}, callback)) return;
78-
79-
this.loadSession(args, function(err, session, admin_user) {
80-
if (!session) {
81-
return self.doError('session', "Session has expired or is invalid.", callback);
82-
}
83-
if (!admin_user) {
84-
return self.doError('user', "User not found: " + session.username, callback);
85-
}
86-
if (!admin_user.active) {
87-
return self.doError('user', "User account is disabled: " + session.username, callback);
88-
}
89-
90-
var privs = self.getComputedPrivileges(admin_user);
91-
if (!privs.admin) {
92-
return self.doError('user', "User is not an administrator: " + session.username, callback);
93-
}
94-
95-
self.loadUser( params.username, function(err, user) {
96-
if (err) {
97-
return self.doError('user', "User not found: " + params.username, callback);
98-
}
99-
100-
var temp_file = args.files['file1'].path;
101-
var base_path = '/users/' + params.username + '/avatar';
102-
var sizes = [256, 64];
103-
104-
async.eachSeries( sizes,
105-
function(size, callback) {
106-
self.resizeStoreImage( temp_file, size, size, base_path + '/' + size + '.png', callback );
107-
},
108-
function(err) {
109-
// all done with all image sizes
110-
if (err) return self.doError('avatar', err.toString(), callback);
111-
112-
// update user to bump mod date (for cache bust on avatar)
113-
user.modified = Tools.timeNow(true);
114-
115-
self.logDebug(6, "Updating user", user);
116-
117-
self.storage.put( "users/" + self.usermgr.normalizeUsername(params.username), user, function(err, data) {
118-
if (err) {
119-
return self.doError('user', "Failed to update user: " + err, callback);
120-
}
121-
122-
self.logDebug(6, "Successfully updated user");
123-
self.logTransaction('user_update', user.username,
124-
self.getClientInfo(args, { user: Tools.copyHashRemoveKeys( user, { password: 1, salt: 1 } ) }));
125-
126-
callback({ code: 0 });
127-
} ); // storage.put
128-
} // done with images
129-
); // eachSeries
130-
} ); // loadUser
131-
} ); // loaded session
132-
}
133-
13464
api_delete_avatar(args, callback) {
13565
// delete avatar for user
13666
var self = this;
@@ -172,71 +102,6 @@ class AvatarManagement {
172102
} ); // loaded session
173103
}
174104

175-
api_admin_delete_avatar(args, callback) {
176-
// admin only: delete avatar for any user
177-
var self = this;
178-
var params = Tools.mergeHashes( args.params, args.query );
179-
if (!this.requireMaster(args, callback)) return;
180-
181-
if (!this.requireParams(params, {
182-
username: /^[\w\-\.]+$/
183-
}, callback)) return;
184-
185-
this.loadSession(args, function(err, session, admin_user) {
186-
if (!session) {
187-
return self.doError('session', "Session has expired or is invalid.", callback);
188-
}
189-
if (!admin_user) {
190-
return self.doError('user', "User not found: " + session.username, callback);
191-
}
192-
if (!admin_user.active) {
193-
return self.doError('user', "User account is disabled: " + session.username, callback);
194-
}
195-
196-
var privs = self.getComputedPrivileges(admin_user);
197-
if (!privs.admin) {
198-
return self.doError('user', "User is not an administrator: " + session.username, callback);
199-
}
200-
201-
self.loadUser( params.username, function(err, user) {
202-
if (err) {
203-
return self.doError('user', "User not found: " + params.username, callback);
204-
}
205-
206-
var base_path = '/users/' + user.username + '/avatar';
207-
var sizes = [256, 64];
208-
209-
async.eachSeries( sizes,
210-
function(size, callback) {
211-
self.storage.delete( base_path + '/' + size + '.png', callback );
212-
},
213-
function(err) {
214-
// all done with all image sizes
215-
if (err) return self.doError('avatar', err.toString(), callback);
216-
217-
// update user to bump mod date (for cache bust on avatar)
218-
user.modified = Tools.timeNow(true);
219-
220-
self.logDebug(6, "Updating user", user);
221-
222-
self.storage.put( "users/" + self.usermgr.normalizeUsername(user.username), user, function(err, data) {
223-
if (err) {
224-
return self.doError('user', "Failed to update user: " + err, callback);
225-
}
226-
227-
self.logDebug(6, "Successfully updated user");
228-
self.logTransaction('user_update', user.username,
229-
self.getClientInfo(args, { user: Tools.copyHashRemoveKeys( user, { password: 1, salt: 1 } ) }));
230-
231-
callback({ code: 0 });
232-
} ); // storage.put
233-
} // done with images
234-
); // eachSeries
235-
236-
} ); // loadUser
237-
} ); // loaded session
238-
}
239-
240105
api_avatar(args, callback) {
241106
// view avatar for specified user on URI: /api/app/avatar/USERNAME.png
242107
var self = this;

0 commit comments

Comments
 (0)