|
@@ -2,6 +2,8 @@
|
|
|
import re
|
|
|
from urlparse import urlparse
|
|
|
from django.conf import settings
|
|
|
+from django.core.urlresolvers import resolve
|
|
|
+from django.http import Http404
|
|
|
from misago.utils.strings import html_escape
|
|
|
|
|
|
URL_RE = re.compile(r'^(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘’]))$', re.UNICODE)
|
|
@@ -11,7 +13,11 @@ def is_url(string):
|
|
|
|
|
|
|
|
|
def is_inner(string):
|
|
|
- return urlparse(string.strip()).netloc.lower() == urlparse(settings.BOARD_ADDRESS.lower()).netloc
|
|
|
+ try:
|
|
|
+ resolve(string.strip())
|
|
|
+ return True
|
|
|
+ except Http404:
|
|
|
+ return False
|
|
|
|
|
|
|
|
|
def clean_inner(string):
|