def logout(): authed() ret = getclient().do_logout() if ret.get('success') : session.clear() return json_success() return json_error(4, ret['emsg'])
def logout(): authed() ret = getclient().do_logout() if ret.get('success'): session.clear() return json_success() return json_error(4, ret['emsg'])
def notification(): try: offset = int(request.args.get('offset', 0)) except: offset = 0 userid = authed() db = getconn() notification = db.query( u"SELECT nid,t,params,lastupdate" " FROM herzog_notification" " WHERE userid=%%s" " ORDER BY lastupdate DESC" " LIMIT %d, 15" % offset, userid) # update touch touch = db.get( u"SELECT touch_notification" " FROM herzog_userdata" " WHERE userid=%s", userid) now = getnow() if touch: touch = touch.touch_notification db.execute( u"UPDATE herzog_userdata SET " " touch_notification=%s" " WHERE userid=%s", now, userid) else: db.execute( u"INSERT INTO herzog_userdata " " (userid, touch_notification, touch_starpost)" " VALUES (%s, %s, %s)", userid, now, now) return render_template('notification.html', notification=notification, touch=touch)
def starpost(): try: offset = int(request.args.get('offset', 0)) except: offset = 0 userid = authed() db = getconn() starpost = db.query( u"SELECT herzog_topic.tid,title" " FROM herzog_topic INNER JOIN herzog_topicship" " ON herzog_topic.tid = herzog_topicship.tid" " WHERE herzog_topicship.userid=%%s AND" " herzog_topicship.flag & 8" " ORDER BY herzog_topic.lastreply DESC" " LIMIT %s, 15" % offset, userid) # update touch time touch = db.get( u"SELECT touch_starpost FROM herzog_userdata" " WHERE userid=%s", userid) now = getnow() if touch: touch = touch.touch_starpost db.execute( u"UPDATE herzog_userdata SET touch_starpost=%s" " WHERE userid=%s", now, userid) else: db.execute( u"INSERT INTO herzog_userdata " " (userid, touch_notification, touch_starpost)" " VALUES (%s, %s, %s)", userid, now, now) return render_template('starpost.html', starpost=starpost, touch=touch)
def message(): userid = authed() message = getclient().getmessage() db = getconn() touch = db.get( u"SELECT touch_notification,touch_starpost" " FROM herzog_userdata" " WHERE userid=%s", userid) if touch: touch_notification = touch.touch_notification touch_starpost = touch.touch_starpost else: touch_notification = touch_starpost = 0 notification_num = getconn().get( u"SELECT count(nid) as t FROM herzog_notification" " WHERE userid=%s AND (lastupdate > %s)" " ORDER BY lastupdate DESC" " LIMIT 6", userid, touch_notification) print notification_num, touch_notification star_num = getconn().get( u"SELECT count(herzog_topic.tid) as t FROM herzog_topic" " INNER JOIN herzog_topicship" " ON herzog_topic.tid = herzog_topicship.tid" " WHERE herzog_topicship.userid=%s AND" " herzog_topicship.flag & 8" " AND herzog_topic.lastreply > %s" " LIMIT 15", userid, touch_starpost) return '%s,%s,%s,%s' % (message['newfavs'], message['mails'], notification_num['t'], star_num['t'])
def edit_resource(resname): userid = authed() res = getconn().get( u"SELECT * FROM herzog_cms_resource" " WHERE resname=%s", resname) res['ds'] = res['ds'] return render_template('edit_resource.html', res=res)
def ajax_newtopic(): userid = authed() form = getfields(_require=('boardname', 'title', 'content'), _optional=('summary',)) form['userid'] = userid form['fromaddr'] = request.remote_addr ret = a_topic(**form) return json_success(**ret)
def mail(): userid = authed() offset = request.args.get('offset', 1) mails = getclient().listmails(offset=offset, limit=20) if 'error' in mails: return render_template('mailstatus.html', **mails) mails['offset'] = int(offset) return render_template('mail.html', limit=20, userid=userid, **mails)
def ajax_newtopic(): userid = authed() form = getfields(_require=('boardname', 'title', 'content'), _optional=('summary',)) form['userid'] = userid form['fromaddr'] = request.remote_addr ret = a_topic(**form) return json_success(**ret)
def mail(): userid = authed() offset = request.args.get('offset', 1) mails = getclient().listmails(offset=offset, limit=20) if 'error' in mails : return render_template('mailstatus.html', **mails) mails['offset'] = int(offset) return render_template('mail.html', limit=20, userid=userid, **mails)
def ajax_updatepost(): userid = authed() if request.form.get('tid') : form = getfields(_require=("tid", "title", "content")) form['userid'] = userid return json_success(**a_updatetopic(**form)) else : form = getfields(_require=('rid', 'content')) form['userid'] = userid return json_success(**a_updatereply(**form))
def allboards(): boards = getboards() sections = groupup(boards) bs = get_all_bsetting() if authed() : msg = getclient().getmessage() else : msg = None return render_template('allboards.html', secdatas=secdatas, boards=boards, sections=sections, bs=bs, msg=msg)
def ajax_delpost(): userid = authed() form = getfields(_require=(), _optional=("tid", "rid")) if not form.has_key('tid') and not form.has_key('rid') : raise FormValidError('Must supply tid or replyid') if form.has_key('tid') : ret = a_deltopic(userid, form['tid']) else : ret = a_delreply(userid, form['rid']) return json_success(**ret)
def ajax_updatepost(): userid = authed() if request.form.get('tid') : form = getfields(_require=("tid", "title", "content")) form['userid'] = userid return json_success(**a_updatetopic(**form)) else : form = getfields(_require=('rid', 'content')) form['userid'] = userid return json_success(**a_updatereply(**form))
def ajax_delpost(): userid = authed() form = getfields(_require=(), _optional=("tid", "rid")) if not form.has_key('tid') and not form.has_key('rid') : raise FormValidError('Must supply tid or replyid') if form.has_key('tid') : ret = a_deltopic(userid, form['tid']) else : ret = a_delreply(userid, form['rid']) return json_success(**ret)
def ajax_reply(): userid = authed() form = getfields(_require=("content",), _optional=("tid", "replyid", "summary")) if not form.has_key('tid') and not form.has_key('replyid') : raise FormValidError('Must supply tid or replyid') form['userid'] = userid form['fromaddr'] = request.remote_addr if form.has_key('tid') : ret = a_reply(**form) else : ret = a_comment(**form) return json_success(**ret)
def ajax_reply(): userid = authed() form = getfields(_require=("content",), _optional=("tid", "replyid", "summary")) if not form.has_key('tid') and not form.has_key('replyid') : raise FormValidError('Must supply tid or replyid') form['userid'] = userid form['fromaddr'] = request.remote_addr if form.has_key('tid') : ret = a_reply(**form) else : ret = a_comment(**form) return json_success(**ret)
def allboards(): boards = getboards() sections = groupup(boards) bs = get_all_bsetting() if authed(): msg = getclient().getmessage() else: msg = None return render_template('allboards.html', secdatas=secdatas, boards=boards, sections=sections, bs=bs, msg=msg)
def topic(tid): db = getconn() userid = authed() if userid : topic = db.get(u"SELECT herzog_topic.tid as tid, owner, title, score, v," " lastupdate, lastreply, replynum, partnum, upvote," " fromapp, herzog_topic.flag, content, upvote, boardname," " herzog_topicship.flag as tsflag, readtime FROM herzog_topic" " LEFT JOIN herzog_topicship" " ON herzog_topicship.tid=herzog_topic.tid" " AND herzog_topicship.userid=%s" " WHERE herzog_topicship.tid=%s", userid, tid) else : topic = db.get(u"SELECT tid, owner, title, score, v, lastupdate," " lastreply, replynum, partnum, upvote, fromapp," " flag, content, upvote, boardname FROM herzog_topic" " WHERE tid=%s", tid) if not topic : abort(404) if userid : replys0 = db.query(u"SELECT herzog_reply.rid, brid, replyid, owner," " lastupdate, fromapp, herzog_reply.flag, content," " upvote, herzog_replyship.flag as rsflag" " FROM herzog_reply LEFT JOIN herzog_replyship" " ON herzog_replyship.rid=herzog_reply.rid" " AND herzog_replyship.userid=%s" " WHERE tid=%s ORDER BY brid LIMIT 100", userid, tid) else : replys0 = db.query(u"SELECT herzog_reply.rid, brid, replyid, owner," " lastupdate, fromapp, flag, content, upvote" " herzog_replyship.flag as rsflag" " FROM herzog_reply" " WHERE tid=%s ORDER BY brid LIMIT 100", userid, tid) lastbranch = None lastcomments = None replys = [] for r in replys0 : if lastbranch is None or r.brid != lastbranch.brid : lastcomments = r['comments'] = [] lastbranch = r replys.append(r) else : lastcomments.append(r) topic['boarddesc'] = getboards()[topic['boardname']]['boarddesc'] return render_template('topic.html', topic=topic, replys=replys)
def update_resource(): userid = authed() form = getfields(_require=('resname', 'ds')) try: json.loads(form['ds']) except ValueError : return json_error(3, "Wrong json value") db = getconn() rid = db.get(u"SELECT rid FROM herzog_cms_resource" " WHERE resname=%s", form['resname']) if rid : db.execute(u"UPDATE herzog_cms_resource SET" " resname=%s, ds=%s, lastuserid=%s" " WHERE rid=%s", form['resname'], form['ds'], userid, rid.rid) else : db.execute(u"INSERT INTO herzog_cms_resource" " (resname, ds, lastuserid) VALUES" " (%s, %s, %s)", form['resname'], form['ds'], userid) return json_success()
def update_resource(): userid = authed() form = getfields(_require=('resname', 'ds')) try: json.loads(form['ds']) except ValueError: return json_error(3, "Wrong json value") db = getconn() rid = db.get(u"SELECT rid FROM herzog_cms_resource" " WHERE resname=%s", form['resname']) if rid: db.execute( u"UPDATE herzog_cms_resource SET" " resname=%s, ds=%s, lastuserid=%s" " WHERE rid=%s", form['resname'], form['ds'], userid, rid.rid) else: db.execute( u"INSERT INTO herzog_cms_resource" " (resname, ds, lastuserid) VALUES" " (%s, %s, %s)", form['resname'], form['ds'], userid) return json_success()
def update_page(): userid = authed() form = getfields(_require=('pagepath', 'pagename', 'tpl', 'rid')) db = getconn() pid = db.query(u"SELECT pid FROM herzog_cms_page" " WHERE pagepath=%s", form['pagepath']) if pid : if form['pagename'].strip() : db.execute(u"UPDATE herzog_cms_page SET" " pagename=%s, pagepath=%s, tpl=%s, rid=%s, lastuserid=%s", " WHERE pid=%s", form['pagename'], form['pagepath'], form['tpl'], form['rid'], userid, pid.pid) else : db.execute(u"DELETE FROM herzog_cms_page" " WHERE pid=%s", pid.pid) else : rid = db.execute(u"INSERT INTO herzog_cms_page" " pagename, pagepath, tpl, rid, lastuserid VALUES" " (%s, %s, %s, %s, %s)", form['pagename'], form['pagepath'], form['tpl'], form['rid'], userid) return json_success()
def update_page(): userid = authed() form = getfields(_require=('pagepath', 'pagename', 'tpl', 'rid')) db = getconn() pid = db.query(u"SELECT pid FROM herzog_cms_page" " WHERE pagepath=%s", form['pagepath']) if pid: if form['pagename'].strip(): db.execute( u"UPDATE herzog_cms_page SET" " pagename=%s, pagepath=%s, tpl=%s, rid=%s, lastuserid=%s", " WHERE pid=%s", form['pagename'], form['pagepath'], form['tpl'], form['rid'], userid, pid.pid) else: db.execute(u"DELETE FROM herzog_cms_page" " WHERE pid=%s", pid.pid) else: rid = db.execute( u"INSERT INTO herzog_cms_page" " pagename, pagepath, tpl, rid, lastuserid VALUES" " (%s, %s, %s, %s, %s)", form['pagename'], form['pagepath'], form['tpl'], form['rid'], userid) return json_success()
def edit_resource(resname): userid = authed() res = getconn().get(u"SELECT * FROM herzog_cms_resource" " WHERE resname=%s", resname) res['ds'] = res['ds'] return render_template('edit_resource.html', res=res)
def ajax_unvotepost(): userid = authed() form = getfields(_require=(), _optional=("tid", "rid")) if not form.has_key('tid') and not form.has_key('rid') : raise FormValidError('Must supply tid or replyid') return json_success(**a_unvote(userid, form.get('tid'), form.get('rid')))
def ajax_setvpost(): userid = authed() form = getfields(_require=("tid", "v")) return json_success(**a_setv(userid, form.get('tid'), form.get('v')))
def ajax_setvpost(): userid = authed() form = getfields(_require=("tid", "v")) return json_success(**a_setv(userid, form.get('tid'), form.get('v')))
def ajax_unvotepost(): userid = authed() form = getfields(_require=(), _optional=("tid", "rid")) if not form.has_key('tid') and not form.has_key('rid') : raise FormValidError('Must supply tid or replyid') return json_success(**a_unvote(userid, form.get('tid'), form.get('rid')))