DELIMITER $$
DROP PROCEDURE IF EXISTS `ladder`.`activate_player`$$
CREATE DEFINER=`epswing`@`%.erin.utoronto.ca` PROCEDURE `activate_player`(
in in_actkey varchar(40),
out result tinyint(1)
)
begin
declare tmp_id int(11);
declare tmp_name varchar(40);
if (is_actkey(in_actkey)) then
-- store name
select id, concat(fname, ' ', lname) into tmp_id, tmp_name from player where actkey = in_actkey;
-- remove activation key
update player set actkey = '' where actkey = in_actkey;
-- add to news
insert into news ( p1, p2, type, message ) values ( tmp_id, 0, 1, concat(tmp_name, ' activated') );
set result = 0; -- all good
else
set result = 1; -- invalid act key or already activated
end if;
end$$
DELIMITER ;