def msg_func(args, u413): if len(args) == 0: u413.donttype( "F**k off. You'll get your fancy schmancy multi-part UI when it's not 1:30 in the morning." ) return u413.type("Retrieving message...") msg = db.query("SELECT * FROM messages WHERE id=%i;" % int(args)) if len(msg) == 0: u413.type("Invalid message ID.") return msg = msg[0] if int(msg["receiver"] ) != u413.user.userid and u413.user.level < user.User.admin: u413.type("You do not have permission to view that message.") return if not bool(ord(msg["seen"])): db.query("UPDATE messages SET seen=TRUE WHERE id=%i;" % int(msg["id"])) sender = db.query("SELECT username FROM users WHERE id=%i;" % int(msg["sender"]))[0]["username"] u413.donttype( '{{<span class="transmit" data-transmit="MESSAGE {0}">{0}</span>}} <span class="inverted">{1}</span><br/><span class="dim">Sent by {2} {3}</span><br/><br/>{4}' .format(args, msg["topic"], sender, util.ago(msg["sent"]), bbcode.bbcodify(msg["msg"]))) u413.clear_screen() u413.set_context("MESSAGE " + args)
def msg_func(args, u413): if len(args) == 0: u413.donttype("F**k off. You'll get your fancy schmancy multi-part UI when it's not 1:30 in the morning.") return u413.type("Retrieving message...") msg = db.query("SELECT * FROM messages WHERE id=%i;" % int(args)) if len(msg) == 0: u413.type("Invalid message ID.") return msg = msg[0] if int(msg["receiver"]) != u413.user.userid and u413.user.level < user.User.admin: u413.type("You do not have permission to view that message.") return if not bool(ord(msg["seen"])): db.query("UPDATE messages SET seen=TRUE WHERE id=%i;" % int(msg["id"])) sender = db.query("SELECT username FROM users WHERE id=%i;" % int(msg["sender"]))[0]["username"] u413.donttype( '{{<span class="transmit" data-transmit="MESSAGE {0}">{0}</span>}} <span class="inverted">{1}</span><br/><span class="dim">Sent by {2} {3}</span><br/><br/>{4}'.format( args, msg["topic"], sender, util.ago(msg["sent"]), bbcode.bbcodify(msg["msg"]) ) ) u413.clear_screen() u413.set_context("MESSAGE " + args)
def output_page(topic, page, u413): t = db.select_topic(topic) if t == None: u413.type("Invalid topic ID.") return b = db.get_boardname(t["parent"]) c = db.count_posts(topic) if page == 0 and page > 1 or page != 0 and page > math.ceil(c / 10.0): page = math.ceil(c / 10.0) if page < 1: page = 1 r = db.query( "SELECT * FROM posts WHERE parent=%i ORDER BY id LIMIT %i,10;" % (topic, (page - 1) * 10)) #replies u413.type("Retrieving topic...") if t["parent"] == '4': u413.donttype( header.format(4, b, topic, t["title"], 'OP', util.ago(t["posted"]))) editor = db.get_username(t["editor"]) e = '' if editor != None: if t["editor"] != t["owner"]: e = edited.format(editor, util.ago(t["edited"])) else: e = edited.format('OP', util.ago(t["edited"])) u413.donttype(bbcode.bbcodify(t["post"]) + '<br/>' + e) else: u = db.get_username(t["owner"]) u413.donttype( header.format(int(t["parent"]), b, topic, t["title"], u, util.ago(t["posted"]))) editor = db.get_username(t["editor"]) e = '' if editor != None: e = edited.format(editor, util.ago(t["edited"])) u413.donttype(bbcode.bbcodify(t["post"]) + '<br/>' + e) if c == 0: u413.donttype('Page 1/1<br/>') else: u413.donttype('Page %i/%i<br/>' % (page, math.ceil(c / 10.0))) if c == 0: u413.type("There are no replies.") else: if t['parent'] == '4': anons = db.anons(topic) for reply in r: owner = util.anoncode(anons, reply["owner"], t["owner"]) editor = db.get_username(reply["editor"]) e = '' if editor != None: if reply["editor"] != reply["owner"]: e = edited.format(editor, util.ago(reply["edited"])) else: e = edited.format(owner, util.ago(reply["edited"])) u413.donttype( post.format(owner, int(reply["id"]), bbcode.bbcodify(reply["post"]), util.ago(reply["posted"]), e)) else: for reply in r: owner = db.get_username(reply["owner"]) editor = db.get_username(reply["editor"]) e = '' if editor != None: e = edited.format(editor, util.ago(reply["edited"])) u413.donttype( post.format(owner, int(reply["id"]), bbcode.bbcodify(reply["post"]), util.ago(reply["posted"]), e)) if c == 0: u413.donttype('Page 1/1<br/>') else: u413.donttype('Page %i/%i<br/>' % (page, math.ceil(c / 10.0))) if page == 1: u413.set_context("TOPIC %i" % topic) else: u413.set_context("TOPIC %i %i" % (topic, page)) u413.clear_screen()
def msg_func(args,u413): if len(args)==0: u413.donttype("F**k off. You'll get your fancy schmancy multi-part UI when it's not 1:30 in the morning.") return u413.type("Retrieving message...") msg=db.query("SELECT * FROM messages WHERE id=%i;"%int(args)) if len(msg)==0: u413.type("Invalid message ID.") return msg=msg[0] sender=db.query("SELECT username FROM users WHERE id=%i;"%int(msg["sender"]))[0]["username"] u413.donttype('{{<span class="transmit" data-transmit="MESSAGE {0}">{0}</span>}} <span class="inverted">{1}</span><br/><span class="dim">Sent by {2} {3}</span><br/><br/>{4}'.format(args,msg["topic"],sender,util.ago(msg["sent"]),bbcode.bbcodify(msg["msg"]))) u413.clear_screen() u413.set_context("MESSAGE "+args)
def output_page(topic,page,u413): t=db.select_topic(topic) if t==None: u413.type("Invalid topic ID.") return b=db.get_boardname(t["parent"]) c=db.count_posts(topic) if page==0 and page>1 or page!=0 and page>math.ceil(c/10.0): page=math.ceil(c/10.0) if page<1: page=1 r=db.query("SELECT * FROM posts WHERE parent=%i ORDER BY id LIMIT %i,10;"%(topic,(page-1)*10))#replies u413.type("Retrieving topic...") if t["parent"]=='4': u413.donttype(header.format(4,b,topic,t["title"],'OP',util.ago(t["posted"]))) editor=db.get_username(t["editor"]) e='' if editor!=None: e=edited.format(editor,util.ago(t["edited"])) u413.donttype(bbcode.bbcodify(t["post"])+'<br/>'+e) else: u=db.get_username(t["owner"]) u413.donttype(header.format(int(t["parent"]),b,topic,t["title"],u,util.ago(t["posted"]))) editor=db.get_username(t["editor"]) e='' if editor!=None: e=edited.format(editor,util.ago(t["edited"])) u413.donttype(bbcode.bbcodify(t["post"])+'<br/>'+e) if c==0: u413.donttype('Page 1/1<br/>') else: u413.donttype('Page %i/%i<br/>'%(page,math.ceil(c/10.0))) if c==0: u413.type("There are no replies.") else: if t['parent']=='4': anons=db.anons(topic) for reply in r: owner=util.anoncode(anons,reply["owner"],t["owner"]) editor=db.get_username(reply["editor"]) e='' if editor!=None: e=edited.format(editor,util.ago(reply["edited"])) u413.donttype(post.format(owner,int(reply["id"]),bbcode.bbcodify(reply["post"]),util.ago(reply["posted"]),e)) else: for reply in r: owner=db.get_username(reply["owner"]) editor=db.get_username(reply["editor"]) e='' if editor!=None: e=edited.format(editor,util.ago(reply["edited"])) u413.donttype(post.format(owner,int(reply["id"]),bbcode.bbcodify(reply["post"]),util.ago(reply["posted"]),e)) if c==0: u413.donttype('Page 1/1<br/>') else: u413.donttype('Page %i/%i<br/>'%(page,math.ceil(c/10.0))) if page==1: u413.set_context("TOPIC %i"%topic) else: u413.set_context("TOPIC %i %i"%(topic,page)) u413.clear_screen()