def post(self, id=''): act = self.get_argument("act", '') if act == 'findid': eid = self.get_argument("id", '') self.redirect('%s/admin/comment/%s' % (BASE_URL, eid)) return tf = {'true': 1, 'false': 0} post_dic = { 'author': self.get_argument("author"), 'email': self.get_argument("email"), 'content': safe_encode(self.get_argument("content").replace('\r', '\n')), 'url': self.get_argument("url", ''), 'visible': self.get_argument("visible", 'false'), 'id': id } post_dic['visible'] = tf[post_dic['visible'].lower()] Comment.update_comment_edit(post_dic) clear_cache_by_pathlist(['post:%s' % id]) self.redirect('%s/admin/comment/%s' % (BASE_URL, id)) return
def tran_content(text, code = False): if code: codetag = '[mycodeplace]' codes = CODE_RE.findall(text) for i in range(len(codes)): text = text.replace(codes[i],codetag) text = text.replace("[code]","").replace("[/code]","") text = n2br(text) a = text.split(codetag) b = [] for i in range(len(a)): b.append(a[i]) try: b.append('<pre><code>' + safe_encode(codes[i]) + '</code></pre>') except: pass return ''.join(b) else: return n2br(text)
def post(self, id = ''): act = self.get_argument("act",'') if act == 'findid': eid = self.get_argument("id",'') self.redirect('%s/admin/comment/%s'% (BASE_URL, eid)) return tf = {'true':1,'false':0} post_dic = { 'author': self.get_argument("author"), 'email': self.get_argument("email"), 'content': safe_encode(self.get_argument("content").replace('\r','\n')), 'url': self.get_argument("url",''), 'visible': self.get_argument("visible",'false'), 'id': id } post_dic['visible'] = tf[post_dic['visible'].lower()] Comment.update_comment_edit(post_dic) clear_cache_by_pathlist(['post:%s'%id]) self.redirect('%s/admin/comment/%s'% (BASE_URL, id)) return
def post(self, id=""): act = self.get_argument("act", "") if act == "findid": eid = self.get_argument("id", "") self.redirect("%s/admin/comment/%s" % (BASE_URL, eid)) return tf = {"true": 1, "false": 0} post_dic = { "author": self.get_argument("author"), "email": self.get_argument("email"), "content": safe_encode(self.get_argument("content").replace("\r", "\n")), "url": self.get_argument("url", ""), "visible": self.get_argument("visible", "false"), "id": id, } post_dic["visible"] = tf[post_dic["visible"].lower()] Comment.update_comment_edit(post_dic) clear_cache_by_pathlist(["post:%s" % id]) self.redirect("%s/admin/comment/%s" % (BASE_URL, id)) return
def post(self, id='', title=''): action = self.get_argument("act") if action == 'inputpw': wrn = self.get_cookie("wrpw", '0') if int(wrn) >= 10: self.write('403') return pw = self.get_argument("pw", '') pobj = Article.get_article_by_id_simple(id) wr = False if pw: if pobj.password == pw: self.set_cookie("rp%s" % id, pobj.password, path="/", expires_days=1) else: wr = True else: wr = True if wr: wrn = self.get_cookie("wrpw", '0') self.set_cookie("wrpw", str(int(wrn) + 1), path="/", expires_days=1) self.redirect('%s/topic/%d/%s' % (BASE_URL, pobj.id, pobj.title)) return self.set_header('Content-Type', 'application/json') rspd = {'status': 201, 'msg': 'ok'} if action == 'readmorecomment': fromid = self.get_argument("fromid", '') allnum = int(self.get_argument("allnum", 0)) showednum = int( self.get_argument("showednum", EACH_PAGE_COMMENT_NUM)) if fromid: rspd['status'] = 200 if (allnum - showednum) >= EACH_PAGE_COMMENT_NUM: limit = EACH_PAGE_COMMENT_NUM else: limit = allnum - showednum cobjs = Comment.get_post_page_comments_by_id(id, fromid, limit) rspd['commentstr'] = self.render('comments.html', {'cobjs': cobjs}) rspd['lavenum'] = allnum - showednum - limit self.write(json.dumps(rspd)) return # usercomnum = self.get_cookie('usercomnum', '0') if int(usercomnum) > MAX_COMMENT_NUM_A_DAY: rspd = {'status': 403, 'msg': '403: Forbidden'} self.write(json.dumps(rspd)) return try: timestamp = int(time()) post_dic = { 'author': self.get_argument("author"), 'email': self.get_argument("email"), 'content': safe_encode(self.get_argument("con").replace('\r', '\n')), 'url': self.get_argument("url", ''), 'postid': self.get_argument("postid"), 'add_time': timestamp, 'toid': self.get_argument("toid", ''), 'visible': COMMENT_DEFAULT_VISIBLE } except: rspd['status'] = 500 rspd['msg'] = '错误: 注意必填的三项' self.write(json.dumps(rspd)) return pobj = Article.get_article_by_id_simple(id) if pobj and not pobj.closecomment: cobjid = Comment.add_new_comment(post_dic) if cobjid: Article.update_post_comment(pobj.comment_num + 1, id) rspd['status'] = 200 #rspd['msg'] = '恭喜: 已成功提交评论' rspd['msg'] = self.render( 'comment.html', { 'cobjid': cobjid, 'gravatar': 'http://www.gravatar.com/avatar/%s' % md5(post_dic['email']).hexdigest(), 'url': post_dic['url'], 'author': post_dic['author'], 'visible': post_dic['visible'], 'content': post_dic['content'], }) clear_cache_by_pathlist(['/', 'post:%s' % id]) #send mail if not debug: try: if NOTICE_MAIL: tolist = [NOTICE_MAIL] else: tolist = [] if post_dic['toid']: tcomment = Comment.get_comment_by_id(toid) if tcomment and tcomment.email: tolist.append(tcomment.email) commenturl = "%s/t/%s#r%s" % (BASE_URL, str( pobj.id), str(cobjid)) m_subject = u'有人回复您在 《%s》 里的评论 %s' % (pobj.title, str(cobjid)) m_html = u'这是一封提醒邮件(请勿直接回复): %s ,请尽快处理: %s' % ( m_subject, commenturl) if tolist: import sae.mail sae.mail.send_mail( ','.join(tolist), m_subject, m_html, (MAIL_SMTP, int(MAIL_PORT), MAIL_FROM, MAIL_PASSWORD, True)) except: pass else: rspd['msg'] = '错误: 未知错误' else: rspd['msg'] = '错误: 未知错误' self.write(json.dumps(rspd))
def post(self, id = '', title = ''): action = self.get_argument("act") if action == 'inputpw': wrn = self.get_cookie("wrpw", '0') if int(wrn)>=10: self.write('403') return pw = self.get_argument("pw",'') pobj = Article.get_article_by_id_simple(id) wr = False if pw: if pobj.password == pw: self.set_cookie("rp%s" % id, pobj.password, path = "/", expires_days =1) else: wr = True else: wr = True if wr: wrn = self.get_cookie("wrpw", '0') self.set_cookie("wrpw", str(int(wrn)+1), path = "/", expires_days = 1 ) self.redirect('%s/topic/%d/%s'% (BASE_URL, pobj.id, pobj.title)) return self.set_header('Content-Type','application/json') rspd = {'status': 201, 'msg':'ok'} if action == 'readmorecomment': fromid = self.get_argument("fromid",'') allnum = int(self.get_argument("allnum",0)) showednum = int(self.get_argument("showednum", EACH_PAGE_COMMENT_NUM)) if fromid: rspd['status'] = 200 if (allnum - showednum) >= EACH_PAGE_COMMENT_NUM: limit = EACH_PAGE_COMMENT_NUM else: limit = allnum - showednum cobjs = Comment.get_post_page_comments_by_id( id, fromid, limit ) rspd['commentstr'] = self.render('comments.html', {'cobjs': cobjs}) rspd['lavenum'] = allnum - showednum - limit self.write(json.dumps(rspd)) return # usercomnum = self.get_cookie('usercomnum','0') if int(usercomnum) > MAX_COMMENT_NUM_A_DAY: rspd = {'status': 403, 'msg':'403: Forbidden'} self.write(json.dumps(rspd)) return try: timestamp = int(time()) post_dic = { 'author': self.get_argument("author"), 'email': self.get_argument("email"), 'content': safe_encode(self.get_argument("con").replace('\r','\n')), 'url': self.get_argument("url",''), 'postid': self.get_argument("postid"), 'add_time': timestamp, 'toid': self.get_argument("toid",''), 'visible': COMMENT_DEFAULT_VISIBLE } except: rspd['status'] = 500 rspd['msg'] = '错误: 注意必填的三项' self.write(json.dumps(rspd)) return pobj = Article.get_article_by_id_simple(id) if pobj and not pobj.closecomment: cobjid = Comment.add_new_comment(post_dic) if cobjid: Article.update_post_comment( pobj.comment_num+1, id) rspd['status'] = 200 #rspd['msg'] = '恭喜: 已成功提交评论' rspd['msg'] = self.render('comment.html', { 'cobjid': cobjid, 'gravatar': 'http://www.gravatar.com/avatar/%s'%md5(post_dic['email']).hexdigest(), 'url': post_dic['url'], 'author': post_dic['author'], 'visible': post_dic['visible'], 'content': post_dic['content'], }) clear_cache_by_pathlist(['/','post:%s'%id]) #send mail if not debug: try: if NOTICE_MAIL: tolist = [NOTICE_MAIL] else: tolist = [] if post_dic['toid']: tcomment = Comment.get_comment_by_id(toid) if tcomment and tcomment.email: tolist.append(tcomment.email) commenturl = "%s/t/%s#r%s" % (BASE_URL, str(pobj.id), str(cobjid)) m_subject = u'有人回复您在 《%s》 里的评论 %s' % ( pobj.title,str(cobjid)) m_html = u'这是一封提醒邮件(请勿直接回复): %s ,请尽快处理: %s' % (m_subject, commenturl) if tolist: import sae.mail sae.mail.send_mail(','.join(tolist), m_subject, m_html,(MAIL_SMTP, int(MAIL_PORT), MAIL_FROM, MAIL_PASSWORD, True)) except: pass else: rspd['msg'] = '错误: 未知错误' else: rspd['msg'] = '错误: 未知错误' self.write(json.dumps(rspd))