Changeset 3371 for tracblogplugin/trunk
- Timestamp:
- 03/15/08 09:12:07 (9 months ago)
- Files:
-
- tracblogplugin/trunk/setup.py (modified) (1 diff)
- tracblogplugin/trunk/tracblog/admin.py (modified) (4 diffs)
- tracblogplugin/trunk/tracblog/new_blog.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
tracblogplugin/trunk/setup.py
r3225 r3371 3 3 from setuptools import setup, find_packages 4 4 5 PACKAGE = 'TracBlog Plugin'5 PACKAGE = 'TracBlog' 6 6 VERSION = '0.3' 7 7 tracblogplugin/trunk/tracblog/admin.py
r2401 r3371 1 1 # -*- coding: utf-8 -*- 2 2 # 3 # Copyright (C) 2006 John Hampton <pacopablo@asylumware.com>3 # Copyright (C) 2006-2008 John Hampton <pacopablo@pacopablo.com> 4 4 # All rights reserved. 5 5 # … … 14 14 # 15 15 # Author: John Hampton <pacopablo@asylumware.com> 16 import os 17 import os.path 18 from pkg_resources import resource_filename 16 19 17 20 from trac.core import * … … 21 24 from trac.util import escape, Markup, format_date, format_datetime 22 25 from trac.wiki.formatter import wiki_to_html 23 from webadmin.web_ui import IAdminPageProvider26 from trac.admin import IAdminPanelProvider 24 27 25 import os26 import os.path27 from pkg_resources import resource_filename28 28 29 29 __all__ = ['BlogAdminPlugin'] … … 34 34 """ 35 35 36 implements(ITemplateProvider, IAdminPa geProvider, IPermissionRequestor)36 implements(ITemplateProvider, IAdminPanelProvider, IPermissionRequestor) 37 37 38 38 # IPermissionRequestor tracblogplugin/trunk/tracblog/new_blog.py
r3225 r3371 19 19 import inspect 20 20 import re 21 import urlparse 21 22 from pkg_resources import resource_filename 22 23 … … 42 43 43 44 _tag_split = re.compile('[,\s]+') 45 46 ENTRY_BASE = '/blog/new' 44 47 45 48 class BlogPost(WikiMacroBase): … … 101 104 102 105 def match_request(self, req): 103 return req.path_info == '/blog/new'106 return req.path_info == ENTRY_BASE 104 107 105 108 def process_request(self, req): … … 117 120 page_format = req.args.get('pagename', self.page_format) 118 121 tags = self._get_tags(req) 119 referer = req.args.get('referer') or req.get_header('Referer') or req.href.blog()122 referer = self._get_referer(req) 120 123 121 124 author = req.authname … … 217 220 return pagename 218 221 222 def _get_referer(self, req): 223 """ Return the referring page. 224 225 If the referring page is the new blog entry page, redirect to the main 226 blog page. 227 228 Also protects against referring to an external site. 229 230 """ 231 ref = req.args.get('referer') or req.get_header('Referer') or req.href.blog() 232 base_scheme, base_host = urlparse.urlparse(req.base_url)[:2] 233 ref_scheme, ref_host = urlparse.urlparse(ref)[:2] 234 if ref and (ref.startswith('http://') or ref.startswith('https://')) \ 235 and not (ref_host == base_host): 236 # don't redirect to external sites 237 ref = req.href.blog() 238 if urlparse.urlparse(ref)[2] == ENTRY_BASE: 239 ref = req.href.blog() 240 return ref 241 219 242 def var_subs(self, author, s): 220 243 s = s.replace('$U', author)
