Drop procedure if exists publicblog //
Create procedure publicblog (forumsid int, nickname char (16), subject char (80), pubdate int, message mediumtext, userip char (15 ))
Begin
Declare userid int;
Declare lasttid int;
Declare lastpid int;
Declare lastpost char (128 );
Start transaction;
Select uid into userid from cdb_members where username = nickname;
Insert into cdb_threads (FID, iconid, typeid, readperm, price, author, authorid, subject, Dateline, lastpost, lastposter, views, replies, displayorder, highlight, digest, rate, blog, special, attachment, subscribed, moderated, closed, Itemid, supe_pushstatus) values (forumsid, nickname, userid, subject, pubdate, pubdate, nickname, 0, 0, 0, 0, 0, 0 );
Select max (TID) into lasttid from cdb_threads;
Insert into cdb_mythreads (UID, tid, Dateline) values (userid, lasttid, pubdate );
Insert into cdb_posts (FID, tid, first, author, authorid, subject, Dateline, message, useip, invisible, anonymous, usesig, bbcodeoff, smileyoff) values (forumsid, lasttid, 1, nickname, userid, subject, pubdate, message, useip, 0, 0,-1,-1 );
Select max (PID) into lastpid from cdb_posts;
Insert into cdb_myposts (UID, tid, PID, position, Dateline) values (userid, lasttid, lastpid, 1, pubdate );
Set lastpost = Concat (lasttid, '', subject,'', pubdate, '', nickname );
Update cdb_forums set threads = threads + 1, posts = posts + 1, todayposts = todayposts + 1, lastpost = lastpost where FID = forumsid;
Commit;
End //
Call publicblog (12, 'Ph ', 'test', '20170101', 'message', '2017. 0.0.1 ')