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()] if MYSQL_TO_KVDB_SUPPORT: obj = Comment.get_comment_by_id(id) for k, v in obj.items(): if k not in post_dic: post_dic[k] = v 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()] if MYSQL_TO_KVDB_SUPPORT: obj = Comment.get_comment_by_id(id) for k, v in obj.items(): if k not in post_dic: post_dic[k] = v Comment.update_comment_edit(post_dic) clear_cache_by_pathlist(["post:%s" % id]) self.redirect("%s/admin/comment/%s" % (BASE_URL, id)) return
def get(self, id = ''): obj = None if id: obj = Comment.get_comment_by_id(id) if obj: act = self.get_argument("act",'') if act == 'del': Comment.del_comment_by_id(id) clear_cache_by_pathlist(['post:%d'%obj.postid]) self.redirect('%s/admin/comment/'% (BASE_URL)) return self.echo('admin_comment.html', { 'title': "管理评论", 'cats': Category.get_all_cat_name(), 'tags': Tag.get_all_tag_name(), 'obj': obj, 'comments': Comment.get_recent_comments(), },layout='_layout_admin.html')
def get(self, id=""): obj = None if id: obj = Comment.get_comment_by_id(id) if obj: act = self.get_argument("act", "") if act == "del": Comment.del_comment_by_id(id) if MYSQL_TO_KVDB_SUPPORT: clear_cache_by_pathlist(["post:%d" % obj["postid"]]) else: clear_cache_by_pathlist(["post:%d" % obj.postid]) self.redirect("%s/admin/comment/" % (BASE_URL)) return self.echo( "admin_comment.html", {"title": "管理评论", "obj": obj, "comments": Comment.get_recent_comments(ADMIN_RECENT_COMMENT_NUM)}, layout="_layout_admin.html", )
def get(self, id=""): obj = None if id: obj = Comment.get_comment_by_id(id) if obj: act = self.get_argument("act", "") if act == "del": Comment.del_comment_by_id(id) clear_cache_by_pathlist(["post:%d" % obj.postid]) self.redirect("%s/admin/comment/" % (BASE_URL)) return self.echo( "admin_comment.html", { "title": "管理评论", "cats": Category.get_all_cat_name(), "tags": Tag.get_all_tag_name(), "obj": obj, "comments": Comment.get_recent_comments(), }, layout="_layout_admin.html", )
def get(self, id=''): obj = None if id: obj = Comment.get_comment_by_id(id) if obj: act = self.get_argument("act", '') if act == 'del': Comment.del_comment_by_id(id) if MYSQL_TO_KVDB_SUPPORT: clear_cache_by_pathlist( ['post:%d' % int(obj['postid'])]) else: clear_cache_by_pathlist(['post:%d' % int(obj.postid)]) self.redirect('%s/admin/comment/' % (BASE_URL)) return self.echo( 'admin_comment.html', { 'title': "管理评论", 'obj': obj, 'comments': Comment.get_recent_comments(ADMIN_RECENT_COMMENT_NUM), }, layout='_layout_admin.html')
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))
'visible': post_dic['visible'], 'content': post_dic['content'], }) clear_cache_by_pathlist(['/','post:%s'%id]) #send mail if not debug: try: if getAttr('NOTICE_MAIL'): tolist = [getAttr('NOTICE_MAIL')] else: tolist = [] if tolist: import sae.mail if 'toid' in post_dic: tcomment = Comment.get_comment_by_id(post_dic['toid']) if MYSQL_TO_KVDB_SUPPORT: if tcomment and tcomment['email']: tolist.append(tcomment['email']) else: if tcomment and tcomment.email: tolist.append(tcomment.email) commenturl = "%s/t/%s#r%s" % (BASE_URL, str(pobjid), str(cobjid)) m_subject = u'有人回复您在 《%s》 里的评论 %s' % ( pobjtitle,str(cobjid)) m_html = u'这是一封提醒邮件(请勿直接回复): %s ,请尽快处理: %s' % (m_subject, commenturl) sae.mail.send_mail(','.join(tolist), m_subject, m_html,(getAttr('MAIL_SMTP'), int(getAttr('MAIL_PORT')), getAttr('MAIL_FROM'), getAttr('MAIL_PASSWORD'), True)) except Exception , e: print 'PostDetail()222',e #rspd['msg'] = '错误: 未知错误' #else: # rspd['msg'] = '错误: 未知错误'
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))
'visible': post_dic['visible'], 'content': post_dic['content'], }) clear_cache_by_pathlist(['/', 'post:%s' % id]) #send mail if not debug: try: if getAttr('NOTICE_MAIL'): tolist = [getAttr('NOTICE_MAIL')] else: tolist = [] if tolist: import sae.mail if 'toid' in post_dic: tcomment = Comment.get_comment_by_id( post_dic['toid']) if MYSQL_TO_KVDB_SUPPORT: if tcomment and tcomment['email']: tolist.append(tcomment['email']) else: if tcomment and tcomment.email: tolist.append(tcomment.email) commenturl = "%s/t/%s#r%s" % ( BASE_URL, str(pobjid), str(cobjid)) m_subject = u'有人回复您在 《%s》 里的评论 %s' % (pobjtitle, str(cobjid)) m_html = u'这是一封提醒邮件(请勿直接回复): %s ,请尽快处理: %s' % ( m_subject, commenturl) sae.mail.send_mail( ','.join(tolist), m_subject, m_html, (getAttr('MAIL_SMTP'),