diff --git a/backstage.py b/backstage.py index 8ff4073..170a258 100644 --- a/backstage.py +++ b/backstage.py @@ -1146,87 +1146,6 @@ def post(self): else: self.redirect('/') -class BackstageTopicHandler(webapp.RequestHandler): - def get(self): - template_values = {} - site = GetSite() - member = CheckAuth(self) - l10n = GetMessages(self, member, site) - template_values['l10n'] = l10n - if member: - if member.num == 1: - template_values['page_title'] = site.title + u' › ' + l10n.backstage + u' › ' + l10n.topic_settings - template_values['site'] = site - template_values['site_use_topic_types'] = site.use_topic_types - if site.topic_types is None: - template_values['site_topic_types'] = '' - else: - template_values['site_topic_types'] = site.topic_types - if site.use_topic_types is not True: - s = '' - else: - s = '' - template_values['s'] = s - template_values['member'] = member - template_values['system_version'] = SYSTEM_VERSION - path = os.path.join(os.path.dirname(__file__), 'tpl', 'desktop', 'backstage_topic.html') - output = template.render(path, template_values) - self.response.out.write(output) - else: - self.redirect('/') - - def post(self): - template_values = {} - site = GetSite() - member = CheckAuth(self) - l10n = GetMessages(self, member, site) - template_values['l10n'] = l10n - if member: - if member.num == 1: - template_values['page_title'] = site.title + u' › ' + l10n.backstage + u' › ' + l10n.topic_settings - template_values['site'] = site - template_values['site_use_topic_types'] = site.use_topic_types - if site.topic_types is None: - template_values['site_topic_types'] = '' - else: - template_values['site_topic_types'] = site.topic_types - if site.use_topic_types is not True: - s = '' - else: - s = '' - template_values['s'] = s - template_values['member'] = member - template_values['system_version'] = SYSTEM_VERSION - errors = 0 - # Verification: use_topic_types - site_use_topic_types = self.request.get('use_topic_types').strip() - if site_use_topic_types is None: - s = '' - else: - if site_use_topic_types == '1': - s = '' - else: - s = '' - template_values['s'] = s - # Verification: topic_types - site_topic_types = self.request.get('topic_types').strip() - if errors == 0: - if site_use_topic_types == '1': - site.use_topic_types = True - else: - site.use_topic_types = False - site.topic_types = site_topic_types - site.put() - memcache.delete('site') - self.redirect('/backstage') - else: - path = os.path.join(os.path.dirname(__file__), 'tpl', 'desktop', 'backstage_topic.html') - output = template.render(path, template_values) - self.response.out.write(output) - else: - self.redirect('/') - - class BackstageRemoveMemcacheHandler(webapp.RequestHandler): def post(self): member = CheckAuth(self) @@ -1252,7 +1171,6 @@ def main(): ('/backstage/deactivate/user/(.*)', BackstageDeactivateUserHandler), ('/backstage/move/topic/(.*)', BackstageMoveTopicHandler), ('/backstage/site', BackstageSiteHandler), - ('/backstage/topic', BackstageTopicHandler), ('/backstage/remove/mc', BackstageRemoveMemcacheHandler) ], debug=True) diff --git a/member.py b/member.py index aadb9c9..ceb5c44 100644 --- a/member.py +++ b/member.py @@ -133,7 +133,7 @@ def get(self): member = CheckAuth(self) l10n = GetMessages(self, member, site) template_values['l10n'] = l10n - template_values['page_title'] = site.title + u' › ' + l10n.settings.decode('utf-8') + template_values['page_title'] = site.title + u' › ' + l10n.settings if (member): template_values['member'] = member template_values['member_username'] = member.username @@ -202,7 +202,7 @@ def post(self): member = CheckAuth(self) l10n = GetMessages(self, member, site) template_values['l10n'] = l10n - template_values['page_title'] = site.title + u' › ' + l10n.settings.decode('utf-8') + template_values['page_title'] = site.title + u' › ' + l10n.settings if (member): template_values['member'] = member template_values['member_username'] = member.username diff --git a/topic.py b/topic.py index 9669901..92c9339 100644 --- a/topic.py +++ b/topic.py @@ -58,25 +58,17 @@ def get(self, node_name): member = CheckAuth(self) l10n = GetMessages(self, member, site) template_values['l10n'] = l10n - template_values['page_title'] = site.title + u' › ' + l10n.create_new_topic.decode('utf-8') + template_values['page_title'] = site.title + u' › ' + l10n.create_new_topic if (member): template_values['member'] = member node = GetKindByName('Node', node_name) template_values['node'] = node - section = GetKindByNum('Section', node.section_num) + section = False + if node: + q2 = db.GqlQuery("SELECT * FROM Section WHERE num = :1", node.section_num) + if (q2.count() == 1): + section = q2[0] template_values['section'] = section - if site.use_topic_types: - types = site.topic_types.split("\n") - options = '' - i = 0 - for a_type in types: - i = i + 1 - detail = a_type.split(':') - options = options + '' - tt = '
Topic Type
' - template_values['tt'] = tt - else: - template_values['tt'] = '' if browser['ios']: if node: path = os.path.join(os.path.dirname(__file__), 'tpl', 'mobile', 'new_topic.html') @@ -101,7 +93,7 @@ def post(self, node_name): member = CheckAuth(self) l10n = GetMessages(self, member, site) template_values['l10n'] = l10n - template_values['page_title'] = site.title + u' › ' + l10n.create_new_topic.decode('utf-8') + template_values['page_title'] = site.title + u' › ' + l10n.create_new_topic if (member): template_values['member'] = member q = db.GqlQuery("SELECT * FROM Node WHERE name = :1", node_name) @@ -150,38 +142,6 @@ def post(self, node_name): template_values['topic_content'] = topic_content template_values['topic_content_error'] = topic_content_error template_values['topic_content_error_message'] = topic_content_error_messages[topic_content_error] - # Verification: type - if site.use_topic_types: - types = site.topic_types.split("\n") - if len(types) > 0: - topic_type = self.request.get('type').strip() - try: - topic_type = int(topic_type) - if topic_type < 0: - topic_type = 0 - if topic_type > len(types): - topic_type = 0 - if topic_type > 0: - detail = types[topic_type - 1].split(':') - topic_type_label = detail[0] - topic_type_color = detail[1] - except: - topic_type = 0 - else: - topic_type = 0 - options = '' - i = 0 - for a_type in types: - i = i + 1 - detail = a_type.split(':') - if topic_type == i: - options = options + '' - else: - options = options + '' - tt = '
Topic Type
' - template_values['tt'] = tt - else: - template_values['tt'] = '' template_values['errors'] = errors if (errors == 0): topic = Topic(parent=node) @@ -225,11 +185,7 @@ def post(self, node_name): if (re.findall('Android', ua)): topic.source = 'Android' if (re.findall('Mozilla\/5.0 \(PLAYSTATION 3;', ua)): - topic.source = 'PS3' - if site.use_topic_types: - if topic_type > 0: - topic.type = topic_type_label - topic.type_color = topic_type_color + topic.source = 'PS3' node.topics = node.topics + 1 node.put() topic.put() diff --git a/tpl/desktop/advertisers.html b/tpl/desktop/advertisers.html index 5ea9618..6a5ab37 100644 --- a/tpl/desktop/advertisers.html +++ b/tpl/desktop/advertisers.html @@ -20,33 +20,10 @@

Advertisers of V2EX

感谢你们对这里的支持,让 V2EX 能够持续存在并发展。 -
- Promoted by 街旁 -
- Reserved from 10/8 to 10/15, 2010 - Running -
- - - - - - -
- iMoney HD -
- - 街旁寻 iOS 开发者
街旁是一支短小精悍的团队,期待你的加入 :) -
-
- - - -
-
Promoted by iWeek.ly
- Reserved from 8/8 to 10/8, 2010 + Reserved from 8/8 to 10/8, 2010 - Live Ads
@@ -122,9 +99,7 @@

Advertisers of V2EX

-
- 我要投放 -
+
diff --git a/tpl/desktop/backstage_topic.html b/tpl/desktop/backstage_topic.html deleted file mode 100644 index ed87dae..0000000 --- a/tpl/desktop/backstage_topic.html +++ /dev/null @@ -1,68 +0,0 @@ -{% include 'common/head.html' %} - - {% include 'common/top.html' %} -
-
- -
- {% include 'rightbar/user.html' %} -
-
- {% if message %} -
-
{{ message }}
-
-
- {% endif %} -
-
{{ site.title }}  ›  {{ l10n.backstage }}  ›  {{ l10n.topic_settings }}
-
-
- {% if errors %} - {{ l10n.resolve_errors }} -
-
    - {% if site_topic_types_error %} -
  • {{ site_topic_types_message }}
  • - {% endif %} -
-
- {% endif %} - - - - - - - - - - - - - -
- {{ l10n.enable_topic_types }} - - {{ s }} -
- {{ l10n.topic_types }} - - -
- {{ l10n.topic_types_explained }} -
- - -
-
-
-
-
-
-
-
- {% include 'common/bottom.html' %} - - \ No newline at end of file diff --git a/tpl/desktop/common/bottom.html b/tpl/desktop/common/bottom.html index 6f6086b..21cb5ea 100644 --- a/tpl/desktop/common/bottom.html +++ b/tpl/desktop/common/bottom.html @@ -11,6 +11,12 @@
VERSION: {{ system_version }}
♥ Do have a faith in what you're doing.
+ + {% if site.analytics %} + {% if site.analytics %} + \ No newline at end of file diff --git a/tpl/mobile/topic.html b/tpl/mobile/topic.html index d4c3fae..f968919 100644 --- a/tpl/mobile/topic.html +++ b/tpl/mobile/topic.html @@ -70,6 +70,6 @@

{{ topic.title|escape }}

{% endif %} {% include 'common/bottom.html' %} - {% include 'ads/running.html' %} + {% include 'common/ads.html' %} \ No newline at end of file diff --git a/tpl/portion/home.html b/tpl/portion/home.html index 5376e60..aa7c171 100644 --- a/tpl/portion/home.html +++ b/tpl/portion/home.html @@ -9,7 +9,7 @@ {% endifequal %}
- {% if site.use_topic_types %}{% if topic.type %}{{ topic.type }}  {% endif %}{% endif %}{{ topic.title|escape }} + {{ topic.title|escape }}
By {{ topic.created_by|escape }}{% if topic.node_name %} in {{ topic.node_title|escape }}{% endif %}
{{ topic.last_touched|timesince }} ago{% if topic.last_reply_by %} replied by {{ topic.last_reply_by }}{% endif %} diff --git a/v2ex/babel/__init__.py b/v2ex/babel/__init__.py index a25609f..17fddcc 100644 --- a/v2ex/babel/__init__.py +++ b/v2ex/babel/__init__.py @@ -1,4 +1,4 @@ -SYSTEM_VERSION = '2.3.15' +SYSTEM_VERSION = '2.3.14' import datetime import hashlib @@ -93,8 +93,6 @@ class Topic(db.Model): created_by = db.StringProperty(required=False, indexed=True) last_reply_by = db.StringProperty(required=False, indexed=True) source = db.StringProperty(required=False, indexed=True) - type = db.StringProperty(required=False, indexed=True) - type_color = db.StringProperty(required=False) created = db.DateTimeProperty(auto_now_add=True) last_modified = db.DateTimeProperty(auto_now=True) last_touched = db.DateTimeProperty() @@ -169,8 +167,6 @@ class Site(db.Model): analytics = db.StringProperty(required=False, indexed=False) home_categories = db.TextProperty(required=False, indexed=False) l10n = db.StringProperty(default='en') - use_topic_types = db.BooleanProperty(default=False) - topic_types = db.TextProperty(default='') class Minisite(db.Model): num = db.IntegerProperty(required=False, indexed=True) diff --git a/v2ex/babel/l10n/messages/en.py b/v2ex/babel/l10n/messages/en.py index 85c61a1..b5afaa4 100644 --- a/v2ex/babel/l10n/messages/en.py +++ b/v2ex/babel/l10n/messages/en.py @@ -21,9 +21,7 @@ submit = 'Submit' save = 'Save' create = 'Create' -back_to = 'Back to' -yes = 'Yes' -no = 'No' +return_to = 'Return to' # Messages on /signin @@ -120,7 +118,7 @@ site_settings = 'Site Settings' site_settings_explained = 'Site name, slogan, description and other details.' topic_settings = 'Topic Settings' -topic_settings_explained = 'Configure topic types and who can post, who can reply.' +topic_settings_explained = 'Configure topic types and who can post, who can reply' sections = 'Sections' add_new_section = 'Add New Section' minisites = 'Minisites' @@ -139,10 +137,4 @@ site_description = 'Description' site_home_categories = 'Home Categories' one_category_per_line = 'One featured category per line' -site_settings_updated = 'Site settings updated successfully' - -# Messages on /backstage/topic - -enable_topic_types = 'Enable Topic Types' -topic_types = 'Topic Types' -topic_types_explained = 'One type per line, use colon to separate name and color' \ No newline at end of file +site_settings_updated = 'Site settings updated successfully' \ No newline at end of file diff --git a/v2ex/babel/l10n/messages/zhHans.py b/v2ex/babel/l10n/messages/zhHans.py index 6fcbf03..55e0e28 100644 --- a/v2ex/babel/l10n/messages/zhHans.py +++ b/v2ex/babel/l10n/messages/zhHans.py @@ -12,137 +12,10 @@ signup = '注册' signout = '登出' -# Messages shared by forms - -chevron = ' › ' -resolve_errors = "请解决以下错误之后再继续" -failed_signin = "用户名/密码不匹配" -delete = '删除' -submit = '提交' -save = '保存' -create = '创建' -back_to = '返回' -yes = '是' -no = '否' - -# Messages on /signin - -password = "密码" -remember_1_year = "登录后 cookie 会被记住一年" -forgot_password = "我忘记密码了" -existing_member = '已注册用户请 登入' - -# Messages on /signup - -username_empty = '请输入用户名' -username_too_long = '用户名长度不能超过 32 个字符' -username_invalid = '用户名只能使用 a-z, A-Z 及 _' -username_taken = '抱歉,这个用户名已经被注册了' - -# Messages on /signout - -signin_again = '重新登入' - # Messages on / -signup_now = "现在注册" -hottest_nodes = '最热节点' -new_nodes = '最近新增节点' -community_stats = '社区运行状态' -total_members = '注册会员总数' -total_topics = '主题总数' -total_replies = '回复总数' -recent_visited_nodes = '最近访问节点' -rss_subscribe = 'RSS 订阅社区最新更新' -more_recent_topics = '更多新主题' -nodes_portal = '节点导航' - # Messages on /t/ -no_reply = '目前尚无回复' -add_a_reply_now = '现在添加一条回复' -send = '发送' -better_to_block = "与其与人争吵,不如将其屏蔽。" -reply_content_cannot_be_empty = "回复内容不能为空" -newer_replies_first = "新回复在前" -earlier_replies_first = "按回复时间排序" -show_all = "显示全部" -just_topic_creator = "只看楼主" -replies = "回复" -till = "直到" -sure_to_delete = "确认删除?" - # Messages on /go/ -create_new_topic = "创建新主题" -next = "下一页" -previous = "上一页" -header_replies = "回复" -header_subject = "标题" -header_author = "作者" -header_last_replied = "最后回复时间" - -# Messages on /settings - -username = "用户名" -email = "电子邮件" -website = "个人网站" -twitter = "Twitter" -location = "所在地" -tagline = "签名" -bio = "个人简介" -language = "语言" -twitter_sync = "Twitter 同步" -save_settings = "保存设置" -avatar = "头像" -current_avatar = "当前头像" -upload_new_avatar = "上传新头像" -gravatar_support = '本站亦支持 Gravatar' -security = "安全" -leave_blank = "如果你不想更改密码,请留空以下输入框。" -current_password = "当前密码" -new_password = "新密码" -change_password = "更改密码" -account_status = "帐号状态" -twitter_not_linked = "Twitter 帐号尚未绑定" -twitter_link_explained = "通过 OAuth 可以安全地绑定你的 Twitter 账户,之后即可同步你的主题和回复。" -personal_records = "个人纪录" -blocked = "屏蔽" -updated_every_4_hours = "以上数据大约每 4 小时更新一次" - -# Messages on /member/ - -recent_topics = '最近创建主题' -recent_participated_topics = '最近参与主题' - -# Messages on /backstage - -site_settings = '站点设置' -site_settings_explained = '站点名,标语,描述及其他更多细节。' -topic_settings = '主题设置' -topic_settings_explained = '配置主题类型及谁可以创建主题,谁可以回复。' -sections = '区域' -add_new_section = '添加新区域' -minisites = '迷你站' -add_new_minisite = '添加新迷你站' -data_management = '数据管理' -delete_specified_cached_item = '删除指定的缓存项目' -delete_specified_cached_item_explained = '你可以在这里输入指定的缓存项目的名字并删除它。' -mapreduce_explained = 'MapReduce 是一个用于数据整理的超强工具,请谨慎使用。' -latest_joined = '最新加入会员' - -# Messages on /backstage/site - -site_name = '站点名' -site_slogan = '站点标语' -site_domain = '站点主域名' -site_description = '站点描述' -site_home_categories = '主页分类' -one_category_per_line = '每行一个' -site_settings_updated = '站点设置成功更新' - -# Messages on /backstage/topic - -enable_topic_types = '开启主题类型' -topic_types = '主题类型' -topic_types_explained = '每行一个,使用 : 分割名字和颜色' \ No newline at end of file +# Messages on /settings \ No newline at end of file diff --git a/v2ex/templatetags/filters.py b/v2ex/templatetags/filters.py index bd064e9..b73da0f 100644 --- a/v2ex/templatetags/filters.py +++ b/v2ex/templatetags/filters.py @@ -81,7 +81,7 @@ def mentions(value): # avatar filter def avatar(value,arg): - default = "http://v2ex.appspot.com/static/img/avatar_" + str(arg) + ".png" + default = "http://v2ex.com/static/img/avatar_" + str(arg) + ".png" if type(value).__name__ != 'Member': return '' if arg == 'large':