def get(self): SetUtf8.set() data="" user = users.get_current_user() user_id=""; if(user): user_id=user.user_id() is_iphone=CssDesign.is_iphone(self) is_mobile=is_iphone or CssDesign.is_tablet(self) app_key=ApiPerpetuation.get_app_key(self) host_url="http://"+MappingId.mapping_host(self.request.host)+"/"; template_values = { 'host': host_url, 'user_id': user_id, 'is_mobile': is_mobile, 'is_iphone': is_iphone, 'app_key': app_key } self.response.content_type = 'text/javascript' path = "/html/api/illustbook.js" self.response.out.write(template_select.render(path, template_values))
def get(self): host_url="http://"+MappingId.mapping_host(self.request.host)+"/" page = 1 if(self.request.get("page")): page=int(self.request.get("page")) template_values = { 'host': host_url, 'page': page } path = '/html/comic.html' self.response.out.write(template_select.render(path, template_values))
def _render_page(self,template_values): host="http://"+MappingId.mapping_host(self.request.host)+"/"; template_values['host']=host template_values['is_iphone']=CssDesign.is_iphone(self) template_values['is_tablet']=CssDesign.is_tablet(self) template_values['tag_display_n']=40 template_values['is_maintenance']=MaintenanceCheck.is_appengine_maintenance() if(template_values['user']): template_values['login_flag']=1 else: template_values['login_flag']=0 render=template_select.render("/html/pinterest.html", template_values) #render=strip_spaces_between_tags(render) self.response.out.write(render)
def get(self): try: bbs=db.get(self.request.get("bbs_key")) except: bbs=None if(bbs==None): Alert.alert_msg_notfound(self) return host_name=self.request.host if(host_name=="http://www.illust-book.appspot.com/"): host_name="http://www.illustbook.net/"; host_url="http://"+MappingId.mapping_host(host_name)+"/"; url=MappingId.get_usr_url(host_url,bbs) self.redirect(str(url+self.request.get("thread_key")+".html"))
def get(self): host_url="http://"+MappingId.mapping_host(self.request.host)+"/" bbs_key=self.request.get("bbs_key") thread_key=self.request.get("thread_key") try: bbs = db.get(self.request.get("bbs_key")) thread = db.get(self.request.get("thread_key")) except: bbs = None thread = None if(bbs==None or thread==None): self.response.out.write(Alert.alert_msg("スレッドが見つかりません。",self.request.host)) return image=thread.image_key#db.get(thread.image); width=400 height=400 if(image.width): width=image.width if(image.height): height=image.height if(self.request.get("width")): width=self.request.get("width") if(self.request.get("height")): height=self.request.get("height") if(CssDesign.is_iphone(self)==1): if(width>=300): height=300*height/width width=300 template_values = { 'host': host_url, 'bbs': bbs, 'bbs_key': bbs_key, 'thread': thread, 'thread_key': thread_key, 'width': width, 'height': height } path = '/html/moper/moper_embedded.htm' self.response.out.write(template_select.render(path, template_values))
def redirect_main(self): #リダイレクト host="http://"+MappingId.mapping_host(self.request.host)+"/"; redirect_url=host+"mypage?"; #リダイレクト先は必ず自分とする(他人のタイムラインには投稿は表示されないので) #if(self.request.get("to_user_id")): # redirect_url=redirect_url+"&user_id="+self.request.get("to_user_id") if(self.request.get("feed_page")): redirect_url=redirect_url+"&feed_page="+self.request.get("feed_page") if(self.request.get("tab")): redirect_url=redirect_url+"&tab="+self.request.get("tab") else: redirect_url=redirect_url+"&tab=feed" if(self.request.get("edit")): redirect_url=redirect_url+"&edit="+self.request.get("edit") self.redirect(str(redirect_url))
def ret(req,page): if(req.request.get("redirect")): tab="" if(req.request.get("tab")): tab="&tab="+req.request.get("tab") req.redirect(str(req.request.get("redirect")+tab)) return user = users.get_current_user() my_app_list=None if(user): my_app_list=AppCode.all().filter("user_id =",user.user_id()).fetch(limit=100,offset=0) if user: url_log = users.create_logout_url(req.request.url) else: url_log = users.create_login_url(req.request.url) app_key=None if(req.request.get("app_key")): app_key=req.request.get("app_key") bbs_key=None if(req.request.get("bbs_key")): bbs_key=req.request.get("bbs_key") app=None if(app_key): app=db.get(app_key) app_code="" if(app): app_code=app.js_code css_code="" if(app): css_code=app.css_code if(not css_code or css_code==""): css_code=DevPortal.load_initial_css_code(None) if(app_code==""): if(app and app.mode==BbsConst.APP_MODE_PLUGIN): app_code=AppPortal.load_sample_app("feedplugin.js") else: app_code=AppPortal.load_sample_app("helloworld.js") if(app_code=="puzzle"): app_code=AppPortal.load_sample_app("15puzzle.js") if(app_code=="feed"): app_code=AppPortal.load_sample_app("feedplugin.js") if(page=="edit"): app_code=cgi.escape(app_code.encode("utf-8")) sample_code=AppPortal.load_sample_app("helloworld.js") sample_code=cgi.escape(sample_code.encode("utf-8")) sample_code_plugin=AppPortal.load_sample_app("feedplugin.js") sample_code_plugin=cgi.escape(sample_code_plugin.encode("utf-8")) sample_code_css=DevPortal.load_initial_css_code(None) sample_code_css=cgi.escape(sample_code_css.encode("utf-8")) logined=0 if(user): logined=1 host_url="http://"+MappingId.mapping_host(req.request.host)+"/"; template_values = { 'host': host_url, 'my_app_list': my_app_list, 'sample_code': sample_code, 'sample_code_plugin': sample_code_plugin, 'sample_code_css': sample_code_css, 'page': page, 'app': app, 'app_code': app_code, 'css_code': css_code, 'url_log': url_log, 'logined': logined, 'bbs_key': bbs_key, 'user': users.get_current_user(), 'redirect_url': req.request.path } url='/html/dev.html' if(page=="edit"): url='/html/dev/dev_edit.html' if(page=="info"): url='/html/dev/dev_info.html' path = url req.response.out.write(template_select.render(path, template_values))
def alert_msg(msg,host): is_iphone=0 is_english=0 host_url="http://"+MappingId.mapping_host(host)+"/"; return Alert._alert_msg_core(msg,host_url,is_iphone,is_english)
def get(self,bbs_key): #日本語対応 SetUtf8.set() #英語版かどうか is_english=CssDesign.is_english(self) #メンテナンス中かどうか is_maintenance=0 if(MaintenanceCheck.is_appengine_maintenance()): is_maintenance=1 #掲示板を取得 bbs=ShowBbs.get_bbs(self,bbs_key) if(bbs==None): return #掲示板削除チェック if(bbs.del_flag) : if(is_english): Alert.alert_msg_with_write(self,"This bbs was deleted.") else: Alert.alert_msg_with_write(self,"この掲示板は削除されました。") return #ページ取得 page = 1 if self.request.get("page"): try: page = int(self.request.get("page")) except: Alert.alert_msg_with_write(self,"ページ番号が異常です。") return if page<1 : page=1 #描画順を取得 order=ShowBbs.get_order(self,bbs) #カテゴリ取得 category="" if(self.request.get("category")): category=self.request.get("category") #スレッド一覧を取得 thread_query=ShowBbs.get_thread_query(bbs,category,order) #1ページのイラスト数を取得 col_num=ShowBbs.get_col_num(bbs,order) #スレッド数とスレッドを取得 count_limit=(BbsConst.PAGE_LIST_COUNT+page)*col_num #ページ番号生成用にしか使わないのでページ番号のMaxがわかれば良い if(category==""): threads_num = bbs.cached_threads_num else: threads_num = thread_query.count(limit=count_limit) all_threads = thread_query.fetch(limit=col_num, offset=(page-1)*col_num) #返信イラストを取得 all_entries = None #if(order=="thumbnail"): # all_entries=ShowBbs.get_illust_reply(bbs,page,col_num) # if(threads_num<all_entries["count"]): # threads_num=all_entries["count"] # all_entries=all_entries["entry"] #ホストURLを取得 host_url="http://"+MappingId.mapping_host(self.request.host)+"/"; #URLを作成 mapped_category=urllib.quote(category.encode('utf-8')) page_url=MappingId.get_usr_url(host_url,bbs) page_url_base=MappingId.get_usr_url(host_url,bbs)+'?order='+order+'&category='+mapped_category+'&page=' page_url_order_base=MappingId.get_usr_url(host_url,bbs)+'?page=1&category='+mapped_category+'&order=' page_url_category_base=MappingId.get_usr_url(host_url,bbs)+'?page=1&order='+order+"&category=" #ページリストを作成 page_list=PageGenerate.generate_page(page,threads_num,col_num) #ログインユーザを取得 user = users.get_current_user() logined=0 if(user): logined=1 owner=user if(OwnerCheck.check(bbs,user)): owner=None #サイドバーコメントを取得 side_comment=RecentCommentCache.get_entry(bbs) side_thread=RecentCommentCache.get_thread(bbs) #カテゴリ一覧を取得 category_list=None if(bbs.category_list): if(bbs.category_list!=""): category_list=CategoryList.get_category_list(bbs) #bbs.category_list.split(",") #ページデザインを取得 css_key=self.request.get("css_key") design=CssDesign.get_design_object(self,bbs,host_url,0) #サイドバー一覧を作成 sidebar_list=ShowBbs.get_sidebar(bbs,category_list,side_comment,side_thread) #新規スレッドを作成できるか can_create_thread=ShowBbs.get_can_create_thread(bbs,user,logined) can_create_new_image=ShowBbs.get_can_create_new_image(bbs,owner) #スレッドを全て取得 all_threads_cached=ApiObject.get_cached_object_list(all_threads) #コメントフォームを表示するか show_comment_form=1 if(bbs.comment_login_require and not(owner)): show_comment_form=0 #フルコメントデバッグ if(self.request.get("full_comment")): bbs.enable_full_comment=1 #フルフラット表示をデフォルト化 if(bbs.bbs_mode==BbsConst.BBS_MODE_NO_IMAGE): bbs.enable_full_flat=0 bbs.enable_full_comment=0 else: bbs.enable_full_flat=1 #bbs.enable_full_comment=1 #デフォルト化を止める #コメントを全て取得 #user_name="" user_name=ShowEntry.get_user_name(user) if(bbs.enable_full_comment): admin_user=OwnerCheck.is_admin(user) ShowEntry.render_comment_list(self,all_threads_cached,host_url,bbs,show_comment_form,logined,admin_user,user_name,user) #デザインの編集ができるか can_edit_design=False is_admin=OwnerCheck.is_admin(user) if(owner or (is_admin and bbs.bbs_mode==BbsConst.BBS_MODE_EVERYONE)): can_edit_design=True #infinite_scrollを使用するかどうか infinite_scroll=False #if(bbs.bbs_mode!=BbsConst.BBS_MODE_NO_IMAGE):# and design["is_iphone"]): infinite_scroll=True #infinite_scrollの2ページ目以降 contents_only=0 if(self.request.get("contents_only")=="1"): contents_only=1 #メッセージ message=memcache.get(BbsConst.OBJECT_BBS_MESSAGE_HEADER+str(bbs.key())) #カウントアップコメント if(bbs.counter): bbs.counter.new_day_update() count_up_comment=None #if(bbs.dont_count_owner): # if(owner): # count_up_comment="管理人" # else: # count_up_comment="ユーザ" #カテゴリリスト show_category_list=False if(self.request.get("show_category_list")=="1"): show_category_list=True #レンダリング template_values = { 'host': host_url, 'usrhost': MappingId.get_usr_url(host_url,bbs), 'threads': all_threads_cached, 'all_entries':all_entries, 'bbs':bbs, 'new_url': 'create_new_thread', 'page':page, 'page_url':page_url, 'page_url_base':page_url_base, 'order':order, 'page_url_order_base':page_url_order_base, 'page_list':page_list, 'user':user, 'owner': owner, 'side_comment':side_comment, 'side_thread':side_thread, 'logined':logined, 'can_create_thread':can_create_thread, 'category_list':category_list, 'page_url_category_base':page_url_category_base, 'now_category':category, 'can_create_new_image':can_create_new_image, 'template_path':design["template_path"], 'css_name':design["css_name"], 'is_iphone':design["is_iphone"], 'is_tablet':design["is_tablet"], 'template_base_color':design["template_base_color"], 'sidebar_list': sidebar_list, 'is_maintenance': is_maintenance, 'css_key': css_key, 'redirect_url': self.request.path, 'show_comment_form': show_comment_form, 'user_name': user_name, 'is_admin': is_admin, 'can_edit_design': can_edit_design, 'infinite_scroll': infinite_scroll, 'infinite_scroll_selecter': ".entry", 'contents_only': contents_only, 'message': message, 'is_english': is_english, 'count_up_comment': count_up_comment, 'show_category_list': show_category_list } path = "/html/"+design["base_name"] self.response.out.write(template_select.render(path, template_values)) if(is_maintenance): return CounterWorker.update_counter(self,bbs,None,owner)
def get(self,bbs_key,thread_key): SetUtf8.set() #英語版かどうか is_english=CssDesign.is_english(self) #BBSを取得 bbs_key=MappingId.mapping(bbs_key) bbs=ApiObject.get_cached_object(bbs_key) if(bbs == None): Alert.alert_msg_notfound(self) return #BBSが削除されていた場合 if(bbs.del_flag) : if(is_english): Alert.alert_msg_with_write(self,"This bbs was deleted.") else: Alert.alert_msg_with_write(self,"このBBSは削除されました。") return #ページ番号を取得 col_num = 10 page = 1 if self.request.get("page"): page = int(self.request.get("page")) if page < 1: page=1 #メンテナンス画面 is_maintenance=0 if(MaintenanceCheck.is_appengine_maintenance()): is_maintenance=1 #オーダー取得 order="update" if(bbs.default_comment_order==1): order="new" if self.request.get("order"): order=self.request.get("order") #スレッド取得 thread=ShowThread.get_thread(bbs,thread_key) if(thread == None): Alert.alert_msg_notfound(self) return #コメント数を更新 if(bbs.page_comment_n): col_num=bbs.page_comment_n if(self.request.get("limit")): col_num=int(self.request.get("limit")) #コメントの一覧を取得 query=ShowThread.get_comment_query(thread,order) entry_num = query.count() if(entry_num==0): com_list_ = [] else: com_list_ = query.fetch(limit=col_num, offset=(page-1)*col_num) #検索 search="" if(self.request.get("search")): search=self.request.get("search") query=""+search+' thread_key:"'+str(thread.key())+'"' com_list_=SearchThread.search(query,page,col_num,BbsConst.SEARCH_ENTRY_INDEX_NAME) #実体への変換 com_list_=ApiObject.get_cached_object_list(com_list_) #現在のスレッドへのURLを取得 host_url="http://"+MappingId.mapping_host(self.request.host)+"/" #編集モードか user = users.get_current_user() edit_flag = 0 if(not OwnerCheck.check(bbs,user)): edit_flag = 1 logined=0 if(user): logined=1 owner=user if(OwnerCheck.check(bbs,user)): owner=None admin_user=OwnerCheck.is_admin(user) #ページリンクを作成 page_url_base = MappingId.get_usr_url(host_url,bbs)+thread_key+'.html?page=' page_list=ShowThread.create_page_list(page,entry_num,col_num) #掲示板のデザインを取得 design=CssDesign.get_design_object(self,bbs,host_url,1) #コメントフォームを取得する show_comment_form=1 if(bbs.comment_login_require and not(owner)): show_comment_form=0 #名前取得 user_name=ShowEntry.get_user_name(user) #自分のイラストか my_illust=False if(user and thread.user_id==user.user_id()): my_illust=True #IPを表示するかどうか show_ip=False if(self.request.get("show_ip") and (owner or admin_user)): show_ip=True #コメントのレンダリング comment=ShowEntry.render_comment(self,host_url,bbs,thread,com_list_,edit_flag,bbs_key,logined,show_comment_form,admin_user,user_name,user,show_ip) #凍結されているか frozen=ApiObject.is_frozen_thread(thread) #拍手が有効かどうか applause_enable=not (user and thread.user_id and thread.user_id==user.user_id()) #メッセージ message=memcache.get(BbsConst.OBJECT_THREAD_MESSAGE_HEADER+str(thread.key())) #関連イラスト related=self._get_related(bbs,thread,design["is_iphone"],design["is_tablet"]) #描画 template_values = { 'host': host_url, 'usrhost': MappingId.get_usr_url(host_url,bbs), 'bbs': bbs, 'bbs_str_key': str(bbs.key()), 'thread': thread, 'edit_flag':edit_flag, 'url': 'edit', 'url_linktext': 'edit blogs', 'bbs_key': bbs_key, 'page':page, 'page_url_base':page_url_base, 'page_list':page_list, 'logined':logined, 'user':user, 'owner':owner, 'my_illust':my_illust, 'template_path':design["template_path"], 'css_name':design["css_name"], 'is_iphone':design["is_iphone"], 'is_tablet':design["is_tablet"], 'template_base_color':design["template_base_color"], 'admin_user':admin_user, 'order':order, 'is_maintenance':is_maintenance, 'redirect_url': self.request.path, 'comment':comment, 'show_comment_form':show_comment_form, 'user_name':user_name, 'search': search, 'limit': col_num, 'frozen': frozen, 'applause_enable': applause_enable, 'message': message, 'is_english': is_english, 'related': related, 'show_ip': show_ip } path = "/html/"+design["base_name"] self.response.out.write(template_select.render(path, template_values)) CounterWorker.update_counter(self,bbs,thread,owner)
def get(self): host_url="http://"+MappingId.mapping_host(self.request.host)+"/" bbs_key=self.request.get("bbs_key") thread_key=self.request.get("thread_key") try: bbs = db.get(self.request.get("bbs_key")) except: bbs=None if(bbs==None): Alert.alert_msg_with_write(self,"ブックが見つかりません。") return ipad=CssDesign.is_tablet(self) iphone=CssDesign.is_iphone(self) if(ipad or iphone): Alert.alert_msg_with_write(self,"iPhoneやiPadでは動画お絵かきツールは使用できません。") return draw_time=0 summary="" author="" title="" if(thread_key!=""): try: thread=db.get(thread_key) except: thread=None if(thread==None): Alert.alert_msg_with_write(self,"スレッドが見つかりません。") return draw_time=thread.draw_time summary=ReeditEscape.escape(thread.summary) author=ReeditEscape.escape(thread.author) title=ReeditEscape.escape(thread.title) canvas_url=self.request.get("canvas_url"); if(canvas_url!=""): canvas_url=host_url+"moper_load?id="+canvas_url force=0 canvas_width=400 canvas_height=400 if(self.request.get("canvas_width")): canvas_width=self.request.get("canvas_width") if(self.request.get("canvas_height")): canvas_height=self.request.get("canvas_height") if(self.request.get("force")): force=self.request.get("force") template_values = { 'host': host_url, 'bbs': bbs, 'thread_key': thread_key, 'bbs_key': bbs_key, 'canvas_url': canvas_url, 'canvas_width': canvas_width, 'canvas_height': canvas_height, 'force': force, 'draw_time': draw_time, 'summary': summary, 'author': author, 'title': title } path = '/html/tools/draw_window_moper.htm' self.response.out.write(template_select.render(path, template_values))
def get(self): celsys=0 host_url="http://"+MappingId.mapping_host(self.request.host)+"/" bbs=None try: bbs = db.get(self.request.get("bbs_key")) except: bbs=None if(bbs==None): Alert.alert_msg_with_write(self,"イラストの投稿画面のURLが変更されています。掲示板からイラストを描くボタンをクリックして下さい。") return ipad=CssDesign.is_tablet(self) iphone=CssDesign.is_iphone(self) if(not ipad and not iphone): if(self.request.get("ipad") and self.request.get("ipad")=="1"): ipad=1 thread_key=self.request.get("thread_key") entry_key=self.request.get("entry_key") category_list=CategoryList.get_category_list(bbs) event_list=EventList.get_event_list() user = users.get_current_user() logined=0 if(user): logined=1 is_reply=self.request.get("reply") wacom2=True #ipad=1 #掲示板のデザインを取得 design=CssDesign.get_design_object(self,bbs,host_url,1) #英語版かどうか is_english=CssDesign.is_english(self) #基本情報設定 template_values = { 'host': host_url, 'bbs': bbs, 'bbs_key': self.request.get("bbs_key"), 'thread_key': thread_key, 'entry_key': entry_key, 'draw_time': 0, 'canvas_width': int(self.request.get("canvas_width")), 'canvas_height': int(self.request.get("canvas_height")), 'canvas_url': self.request.get("canvas_url"), 'reply': is_reply, 'celsys': celsys, 'category_list': category_list, 'is_png': 0, 'summary': "", 'author': "", 'title': "", 'ipad': ipad, 'logined': logined, 'template_path':design["template_path"], 'css_name':design["css_name"], 'is_iphone':design["is_iphone"], 'template_base_color':design["template_base_color"], 'version': self.request.get("version"), 'wacom2': wacom2, 'selecting_category': None, 'is_english': is_english, 'event_list': event_list } #上書き時のコメントの初期値を設定 if(not self.get_thread_comment(template_values,thread_key,entry_key,is_reply)): return if(not self.get_entry_comment(template_values,entry_key)): return if(ipad or iphone): path = '/html/tools/draw_window_ipad.htm' else: path = '/html/draw_window_flash_lapper.html' self.response.out.write(template_select.render(path, template_values))
def get(self,regist_mode): SetUtf8.set() #表示モードかどうか view_mode=None if(self.request.get("user")): view_mode=self.request.get("user") #ユーザ検索 if(self.request.get("user_id")): target_bookmark=ApiObject.get_bookmark_of_user_id(self.request.get("user_id")) if(target_bookmark==None): Alert.alert_msg_with_write(self,"ユーザが見つかりません。") return view_mode=str(target_bookmark.key()); #リダイレクトURL host="http://"+MappingId.mapping_host(self.request.host)+"/"; redirect_url=host+"mypage"; #編集モードか edit_mode=0 if(self.request.get("edit")): edit_mode=int(self.request.get("edit")) #掲示板一覧 user = users.get_current_user() favorite="" bookmark=None #管理人かどうか is_admin=0 if(OwnerCheck.is_admin(user)):# and self.request.get("is_admin")): is_admin=1 #自分だったらビューモードにしない if(user and self.request.get("user_id")==user.user_id() and not self.request.get("withdraw")): view_mode=0 #ログインしているか login_flag=0 if(user): login_flag=1 #表示設定 if(view_mode): bookmark=db.get(view_mode) else: if user: bookmark=ApiObject.get_bookmark_of_user_id(user.user_id()) else: bookmark=None #掲示板の新規作成が完了したか regist_finish=False if(regist_mode=="regist"): regist_finish=True #プロフィールを編集 edit_profile=Pinterest.get_profile_for_edit(bookmark,view_mode) #アカウントの凍結 if(self.request.get("freez") and is_admin): bookmark=ApiObject.get_bookmark_of_user_id_for_write(self.request.get("user_id")) bookmark.frozen=int(self.request.get("freez")) bookmark.put() #退会 if(self.request.get("withdraw") and self.request.get("withdraw")=="go"): if(not bookmark): Alert.alert_msg_with_write(self,"ユーザ情報は未登録です。"); return your_bbs_count=Bbs.all().filter("del_flag =",0).filter("user_id =",bookmark.user_id).count() if(self.withdraw(bookmark,your_bbs_count)): return; #リダイレクト if(BbsConst.PINTEREST_MODE): if((user and OwnerCheck.is_admin(user)) or BbsConst.PINTEREST_MODE==2): if(regist_finish): return Pinterest.get_core(self,Pinterest.PAGE_MODE_REGIST) else: return Pinterest.get_core(self,Pinterest.PAGE_MODE_MYPAGE)