DROP PROCEDURE IF EXISTS account.user_setPassword; DELIMITER $$ CREATE DEFINER=`root`@`%` PROCEDURE account.user_setPassword(vSelf INT, vPassword VARCHAR(255)) BEGIN /** * Change the password of the passed as a parameter. Only administrators should * have execute privileges on the procedure since it does not request the user's * current password. * * @param vSelf The user id * @param vPassword New password */ CALL user_checkPassword(vPassword); UPDATE user SET `password` = MD5(vPassword), `recoverPass` = FALSE WHERE id = vSelf; END$$ DELIMITER ;