--HG-- rename : __init__.py => djangobb/__init__.py rename : apps/__init__.py => djangobb/apps/__init__.py rename : apps/forum/__init__.py => djangobb/apps/forum/__init__.py rename : apps/forum/admin.py => djangobb/apps/forum/admin.py rename : apps/forum/feeds.py => djangobb/apps/forum/feeds.py rename : apps/forum/fields.py => djangobb/apps/forum/fields.py rename : apps/forum/forms.py => djangobb/apps/forum/forms.py rename : apps/forum/index.py => djangobb/apps/forum/index.py rename : apps/forum/locale/ru/LC_MESSAGES/django.mo => djangobb/apps/forum/locale/ru/LC_MESSAGES/django.mo rename : apps/forum/locale/ru/LC_MESSAGES/django.po => djangobb/apps/forum/locale/ru/LC_MESSAGES/django.po rename : apps/forum/management/__init__.py => djangobb/apps/forum/management/__init__.py rename : apps/forum/management/commands/__init__.py => djangobb/apps/forum/management/commands/__init__.py rename : apps/forum/management/commands/unban.py => djangobb/apps/forum/management/commands/unban.py rename : apps/forum/markups/__init__.py => djangobb/apps/forum/markups/__init__.py rename : apps/forum/markups/mypostmarkup.py => djangobb/apps/forum/markups/mypostmarkup.py rename : apps/forum/markups/postmarkup.py => djangobb/apps/forum/markups/postmarkup.py rename : apps/forum/middleware.py => djangobb/apps/forum/middleware.py rename : apps/forum/models.py => djangobb/apps/forum/models.py rename : apps/forum/settings.py => djangobb/apps/forum/settings.py rename : apps/forum/signals.py => djangobb/apps/forum/signals.py rename : apps/forum/subscription.py => djangobb/apps/forum/subscription.py rename : apps/forum/templates/forum/add_post.html => djangobb/apps/forum/templates/forum/add_post.html rename : apps/forum/templates/forum/base.html => djangobb/apps/forum/templates/forum/base.html rename : apps/forum/templates/forum/delete_posts.html => djangobb/apps/forum/templates/forum/delete_posts.html rename : apps/forum/templates/forum/edit_post.html => djangobb/apps/forum/templates/forum/edit_post.html rename : apps/forum/templates/forum/feeds/posts_description.html => djangobb/apps/forum/templates/forum/feeds/posts_description.html rename : apps/forum/templates/forum/feeds/posts_title.html => djangobb/apps/forum/templates/forum/feeds/posts_title.html rename : apps/forum/templates/forum/feeds/topics_description.html => djangobb/apps/forum/templates/forum/feeds/topics_description.html rename : apps/forum/templates/forum/feeds/topics_title.html => djangobb/apps/forum/templates/forum/feeds/topics_title.html rename : apps/forum/templates/forum/forum.html => djangobb/apps/forum/templates/forum/forum.html rename : apps/forum/templates/forum/forum_row.html => djangobb/apps/forum/templates/forum/forum_row.html rename : apps/forum/templates/forum/header.html => djangobb/apps/forum/templates/forum/header.html rename : apps/forum/templates/forum/index.html => djangobb/apps/forum/templates/forum/index.html rename : apps/forum/templates/forum/lofi/base.html => djangobb/apps/forum/templates/forum/lofi/base.html rename : apps/forum/templates/forum/lofi/footer.html => djangobb/apps/forum/templates/forum/lofi/footer.html rename : apps/forum/templates/forum/lofi/forum.html => djangobb/apps/forum/templates/forum/lofi/forum.html rename : apps/forum/templates/forum/lofi/header.html => djangobb/apps/forum/templates/forum/lofi/header.html rename : apps/forum/templates/forum/lofi/index.html => djangobb/apps/forum/templates/forum/lofi/index.html rename : apps/forum/templates/forum/lofi/pagination.html => djangobb/apps/forum/templates/forum/lofi/pagination.html rename : apps/forum/templates/forum/lofi/topic.html => djangobb/apps/forum/templates/forum/lofi/topic.html rename : apps/forum/templates/forum/mail_to.html => djangobb/apps/forum/templates/forum/mail_to.html rename : apps/forum/templates/forum/moderate.html => djangobb/apps/forum/templates/forum/moderate.html rename : apps/forum/templates/forum/moderators.html => djangobb/apps/forum/templates/forum/moderators.html rename : apps/forum/templates/forum/move_topic.html => djangobb/apps/forum/templates/forum/move_topic.html rename : apps/forum/templates/forum/pagination.html => djangobb/apps/forum/templates/forum/pagination.html rename : apps/forum/templates/forum/pm/base_pm.html => djangobb/apps/forum/templates/forum/pm/base_pm.html rename : apps/forum/templates/forum/pm/create_pm.html => djangobb/apps/forum/templates/forum/pm/create_pm.html rename : apps/forum/templates/forum/pm/inbox.html => djangobb/apps/forum/templates/forum/pm/inbox.html rename : apps/forum/templates/forum/pm/menu_pm.html => djangobb/apps/forum/templates/forum/pm/menu_pm.html rename : apps/forum/templates/forum/pm/message.html => djangobb/apps/forum/templates/forum/pm/message.html rename : apps/forum/templates/forum/pm/outbox.html => djangobb/apps/forum/templates/forum/pm/outbox.html rename : apps/forum/templates/forum/post_preview.html => djangobb/apps/forum/templates/forum/post_preview.html rename : apps/forum/templates/forum/profile/profile_admin.html => djangobb/apps/forum/templates/forum/profile/profile_admin.html rename : apps/forum/templates/forum/profile/profile_display.html => djangobb/apps/forum/templates/forum/profile/profile_display.html rename : apps/forum/templates/forum/profile/profile_essentials.html => djangobb/apps/forum/templates/forum/profile/profile_essentials.html rename : apps/forum/templates/forum/profile/profile_menu.html => djangobb/apps/forum/templates/forum/profile/profile_menu.html rename : apps/forum/templates/forum/profile/profile_messaging.html => djangobb/apps/forum/templates/forum/profile/profile_messaging.html rename : apps/forum/templates/forum/profile/profile_personal.html => djangobb/apps/forum/templates/forum/profile/profile_personal.html rename : apps/forum/templates/forum/profile/profile_personality.html => djangobb/apps/forum/templates/forum/profile/profile_personality.html rename : apps/forum/templates/forum/profile/profile_privacy.html => djangobb/apps/forum/templates/forum/profile/profile_privacy.html rename : apps/forum/templates/forum/report.html => djangobb/apps/forum/templates/forum/report.html rename : apps/forum/templates/forum/reputation.html => djangobb/apps/forum/templates/forum/reputation.html rename : apps/forum/templates/forum/reputation_form.html => djangobb/apps/forum/templates/forum/reputation_form.html rename : apps/forum/templates/forum/search_form.html => djangobb/apps/forum/templates/forum/search_form.html rename : apps/forum/templates/forum/search_posts.html => djangobb/apps/forum/templates/forum/search_posts.html rename : apps/forum/templates/forum/search_topics.html => djangobb/apps/forum/templates/forum/search_topics.html rename : apps/forum/templates/forum/topic.html => djangobb/apps/forum/templates/forum/topic.html rename : apps/forum/templates/forum/upload_avatar.html => djangobb/apps/forum/templates/forum/upload_avatar.html rename : apps/forum/templates/forum/user.html => djangobb/apps/forum/templates/forum/user.html rename : apps/forum/templates/forum/users.html => djangobb/apps/forum/templates/forum/users.html rename : apps/forum/templatetags/__init__.py => djangobb/apps/forum/templatetags/__init__.py rename : apps/forum/templatetags/forum_extras.py => djangobb/apps/forum/templatetags/forum_extras.py rename : apps/forum/tests/__init__.py => djangobb/apps/forum/tests/__init__.py rename : apps/forum/tests/postmarkup.py => djangobb/apps/forum/tests/postmarkup.py rename : apps/forum/urls.py => djangobb/apps/forum/urls.py rename : apps/forum/util.py => djangobb/apps/forum/util.py rename : apps/forum/views.py => djangobb/apps/forum/views.py rename : forms.py => djangobb/forms.py rename : manage.py => djangobb/manage.py rename : settings.py => djangobb/settings.py rename : sitemap.py => djangobb/sitemap.py rename : static/forum/attachments/index.html => djangobb/static/forum/attachments/index.html rename : static/forum/avatars/index.html => djangobb/static/forum/avatars/index.html rename : static/forum/css/hljs_styles/ascetic.css => djangobb/static/forum/css/hljs_styles/ascetic.css rename : static/forum/css/hljs_styles/dark.css => djangobb/static/forum/css/hljs_styles/dark.css rename : static/forum/css/hljs_styles/default.css => djangobb/static/forum/css/hljs_styles/default.css rename : static/forum/css/hljs_styles/djangobb.css => djangobb/static/forum/css/hljs_styles/djangobb.css rename : static/forum/css/hljs_styles/far.css => djangobb/static/forum/css/hljs_styles/far.css rename : static/forum/css/hljs_styles/idea.css => djangobb/static/forum/css/hljs_styles/idea.css rename : static/forum/css/hljs_styles/magula.css => djangobb/static/forum/css/hljs_styles/magula.css rename : static/forum/css/hljs_styles/sunburst.css => djangobb/static/forum/css/hljs_styles/sunburst.css rename : static/forum/css/hljs_styles/vs.css => djangobb/static/forum/css/hljs_styles/vs.css rename : static/forum/css/hljs_styles/zenburn.css => djangobb/static/forum/css/hljs_styles/zenburn.css rename : static/forum/css/lofi/lofihandheld.css => djangobb/static/forum/css/lofi/lofihandheld.css rename : static/forum/css/lofi/lofiprint.css => djangobb/static/forum/css/lofi/lofiprint.css rename : static/forum/css/lofi/lofiscreen.css => djangobb/static/forum/css/lofi/lofiscreen.css rename : static/forum/img/attachment/audio.png => djangobb/static/forum/img/attachment/audio.png rename : static/forum/img/attachment/compress.png => djangobb/static/forum/img/attachment/compress.png rename : static/forum/img/attachment/doc.png => djangobb/static/forum/img/attachment/doc.png rename : static/forum/img/attachment/image.png => djangobb/static/forum/img/attachment/image.png rename : static/forum/img/attachment/text.png => djangobb/static/forum/img/attachment/text.png rename : static/forum/img/attachment/unknown.png => djangobb/static/forum/img/attachment/unknown.png rename : static/forum/img/attachment/video.png => djangobb/static/forum/img/attachment/video.png rename : static/forum/img/authority/vote0.gif => djangobb/static/forum/img/authority/vote0.gif rename : static/forum/img/authority/vote1.gif => djangobb/static/forum/img/authority/vote1.gif rename : static/forum/img/authority/vote10.gif => djangobb/static/forum/img/authority/vote10.gif rename : static/forum/img/authority/vote2.gif => djangobb/static/forum/img/authority/vote2.gif rename : static/forum/img/authority/vote3.gif => djangobb/static/forum/img/authority/vote3.gif rename : static/forum/img/authority/vote4.gif => djangobb/static/forum/img/authority/vote4.gif rename : static/forum/img/authority/vote5.gif => djangobb/static/forum/img/authority/vote5.gif rename : static/forum/img/authority/vote6.gif => djangobb/static/forum/img/authority/vote6.gif rename : static/forum/img/authority/vote7.gif => djangobb/static/forum/img/authority/vote7.gif rename : static/forum/img/authority/vote8.gif => djangobb/static/forum/img/authority/vote8.gif rename : static/forum/img/authority/vote9.gif => djangobb/static/forum/img/authority/vote9.gif rename : static/forum/img/feed-icon-big.png => djangobb/static/forum/img/feed-icon-big.png rename : static/forum/img/feed-icon-small.png => djangobb/static/forum/img/feed-icon-small.png rename : static/forum/img/login-bg.gif => djangobb/static/forum/img/login-bg.gif rename : static/forum/img/openid_logo.png => djangobb/static/forum/img/openid_logo.png rename : static/forum/img/reputation/warn_add.gif => djangobb/static/forum/img/reputation/warn_add.gif rename : static/forum/img/reputation/warn_minus.gif => djangobb/static/forum/img/reputation/warn_minus.gif rename : static/forum/img/smilies/big_smile.png => djangobb/static/forum/img/smilies/big_smile.png rename : static/forum/img/smilies/cool.png => djangobb/static/forum/img/smilies/cool.png rename : static/forum/img/smilies/emoticon-smile.png => djangobb/static/forum/img/smilies/emoticon-smile.png rename : static/forum/img/smilies/hmm.png => djangobb/static/forum/img/smilies/hmm.png rename : static/forum/img/smilies/lol.png => djangobb/static/forum/img/smilies/lol.png rename : static/forum/img/smilies/mad.png => djangobb/static/forum/img/smilies/mad.png rename : static/forum/img/smilies/neutral.png => djangobb/static/forum/img/smilies/neutral.png rename : static/forum/img/smilies/roll.png => djangobb/static/forum/img/smilies/roll.png rename : static/forum/img/smilies/sad.png => djangobb/static/forum/img/smilies/sad.png rename : static/forum/img/smilies/smile.png => djangobb/static/forum/img/smilies/smile.png rename : static/forum/img/smilies/tongue.png => djangobb/static/forum/img/smilies/tongue.png rename : static/forum/img/smilies/wink.png => djangobb/static/forum/img/smilies/wink.png rename : static/forum/img/smilies/yikes.png => djangobb/static/forum/img/smilies/yikes.png rename : static/forum/img/stars/Star_0.gif => djangobb/static/forum/img/stars/Star_0.gif rename : static/forum/img/stars/Star_0_Half.gif => djangobb/static/forum/img/stars/Star_0_Half.gif rename : static/forum/img/stars/Star_1.gif => djangobb/static/forum/img/stars/Star_1.gif rename : static/forum/img/stars/Star_1_Half.gif => djangobb/static/forum/img/stars/Star_1_Half.gif rename : static/forum/img/stars/Star_2.gif => djangobb/static/forum/img/stars/Star_2.gif rename : static/forum/img/stars/Star_2_Half.gif => djangobb/static/forum/img/stars/Star_2_Half.gif rename : static/forum/img/stars/Star_3.gif => djangobb/static/forum/img/stars/Star_3.gif rename : static/forum/img/stars/Star_3_Half.gif => djangobb/static/forum/img/stars/Star_3_Half.gif rename : static/forum/img/stars/Star_4.gif => djangobb/static/forum/img/stars/Star_4.gif rename : static/forum/img/stars/Star_4_Half.gif => djangobb/static/forum/img/stars/Star_4_Half.gif rename : static/forum/img/stars/Star_5.gif => djangobb/static/forum/img/stars/Star_5.gif rename : static/forum/js/board.js => djangobb/static/forum/js/board.js rename : static/forum/js/corners_init.js => djangobb/static/forum/js/corners_init.js rename : static/forum/js/highlight.pack.js => djangobb/static/forum/js/highlight.pack.js rename : static/forum/js/jquery.highlight-3.pack.js => djangobb/static/forum/js/jquery.highlight-3.pack.js rename : static/forum/js/languages/1c.js => djangobb/static/forum/js/languages/1c.js rename : static/forum/js/languages/apache.js => djangobb/static/forum/js/languages/apache.js rename : static/forum/js/languages/avrasm.js => djangobb/static/forum/js/languages/avrasm.js rename : static/forum/js/languages/axapta.js => djangobb/static/forum/js/languages/axapta.js rename : static/forum/js/languages/bash.js => djangobb/static/forum/js/languages/bash.js rename : static/forum/js/languages/cpp.js => djangobb/static/forum/js/languages/cpp.js rename : static/forum/js/languages/cs.js => djangobb/static/forum/js/languages/cs.js rename : static/forum/js/languages/css.js => djangobb/static/forum/js/languages/css.js rename : static/forum/js/languages/delphi.js => djangobb/static/forum/js/languages/delphi.js rename : static/forum/js/languages/diff.js => djangobb/static/forum/js/languages/diff.js rename : static/forum/js/languages/django.js => djangobb/static/forum/js/languages/django.js rename : static/forum/js/languages/dos.js => djangobb/static/forum/js/languages/dos.js rename : static/forum/js/languages/dynamic.js => djangobb/static/forum/js/languages/dynamic.js rename : static/forum/js/languages/html-xml.js => djangobb/static/forum/js/languages/html-xml.js rename : static/forum/js/languages/ini.js => djangobb/static/forum/js/languages/ini.js rename : static/forum/js/languages/java.js => djangobb/static/forum/js/languages/java.js rename : static/forum/js/languages/javascript.js => djangobb/static/forum/js/languages/javascript.js rename : static/forum/js/languages/lisp.js => djangobb/static/forum/js/languages/lisp.js rename : static/forum/js/languages/mel.js => djangobb/static/forum/js/languages/mel.js rename : static/forum/js/languages/perl.js => djangobb/static/forum/js/languages/perl.js rename : static/forum/js/languages/php.js => djangobb/static/forum/js/languages/php.js rename : static/forum/js/languages/profile.js => djangobb/static/forum/js/languages/profile.js rename : static/forum/js/languages/python.js => djangobb/static/forum/js/languages/python.js rename : static/forum/js/languages/renderman.js => djangobb/static/forum/js/languages/renderman.js rename : static/forum/js/languages/ruby.js => djangobb/static/forum/js/languages/ruby.js rename : static/forum/js/languages/smalltalk.js => djangobb/static/forum/js/languages/smalltalk.js rename : static/forum/js/languages/sql.js => djangobb/static/forum/js/languages/sql.js rename : static/forum/js/languages/static.js => djangobb/static/forum/js/languages/static.js rename : static/forum/js/languages/vbscript.js => djangobb/static/forum/js/languages/vbscript.js rename : static/forum/js/languages/www.js => djangobb/static/forum/js/languages/www.js rename : static/forum/js/markitup/jquery.markitup.pack.js => djangobb/static/forum/js/markitup/jquery.markitup.pack.js rename : static/forum/js/markitup/readme.txt => djangobb/static/forum/js/markitup/readme.txt rename : static/forum/js/markitup/sets/bbcode/images/bold.png => djangobb/static/forum/js/markitup/sets/bbcode/images/bold.png rename : static/forum/js/markitup/sets/bbcode/images/clean.png => djangobb/static/forum/js/markitup/sets/bbcode/images/clean.png rename : static/forum/js/markitup/sets/bbcode/images/code.png => djangobb/static/forum/js/markitup/sets/bbcode/images/code.png rename : static/forum/js/markitup/sets/bbcode/images/fonts.png => djangobb/static/forum/js/markitup/sets/bbcode/images/fonts.png rename : static/forum/js/markitup/sets/bbcode/images/italic.png => djangobb/static/forum/js/markitup/sets/bbcode/images/italic.png rename : static/forum/js/markitup/sets/bbcode/images/link.png => djangobb/static/forum/js/markitup/sets/bbcode/images/link.png rename : static/forum/js/markitup/sets/bbcode/images/list-bullet.png => djangobb/static/forum/js/markitup/sets/bbcode/images/list-bullet.png rename : static/forum/js/markitup/sets/bbcode/images/list-item.png => djangobb/static/forum/js/markitup/sets/bbcode/images/list-item.png rename : static/forum/js/markitup/sets/bbcode/images/list-numeric.png => djangobb/static/forum/js/markitup/sets/bbcode/images/list-numeric.png rename : static/forum/js/markitup/sets/bbcode/images/picture.png => djangobb/static/forum/js/markitup/sets/bbcode/images/picture.png rename : static/forum/js/markitup/sets/bbcode/images/preview.png => djangobb/static/forum/js/markitup/sets/bbcode/images/preview.png rename : static/forum/js/markitup/sets/bbcode/images/quotes.png => djangobb/static/forum/js/markitup/sets/bbcode/images/quotes.png rename : static/forum/js/markitup/sets/bbcode/images/stroke.png => djangobb/static/forum/js/markitup/sets/bbcode/images/stroke.png rename : static/forum/js/markitup/sets/bbcode/images/underline.png => djangobb/static/forum/js/markitup/sets/bbcode/images/underline.png rename : static/forum/js/markitup/sets/bbcode/readme.txt => djangobb/static/forum/js/markitup/sets/bbcode/readme.txt rename : static/forum/js/markitup/sets/bbcode/set.js => djangobb/static/forum/js/markitup/sets/bbcode/set.js rename : static/forum/js/markitup/sets/bbcode/style.css => djangobb/static/forum/js/markitup/sets/bbcode/style.css rename : static/forum/js/markitup/sets/default/images/bold.png => djangobb/static/forum/js/markitup/sets/default/images/bold.png rename : static/forum/js/markitup/sets/default/images/clean.png => djangobb/static/forum/js/markitup/sets/default/images/clean.png rename : static/forum/js/markitup/sets/default/images/image.png => djangobb/static/forum/js/markitup/sets/default/images/image.png rename : static/forum/js/markitup/sets/default/images/italic.png => djangobb/static/forum/js/markitup/sets/default/images/italic.png rename : static/forum/js/markitup/sets/default/images/link.png => djangobb/static/forum/js/markitup/sets/default/images/link.png rename : static/forum/js/markitup/sets/default/images/picture.png => djangobb/static/forum/js/markitup/sets/default/images/picture.png rename : static/forum/js/markitup/sets/default/images/preview.png => djangobb/static/forum/js/markitup/sets/default/images/preview.png rename : static/forum/js/markitup/sets/default/images/stroke.png => djangobb/static/forum/js/markitup/sets/default/images/stroke.png rename : static/forum/js/markitup/sets/default/set.js => djangobb/static/forum/js/markitup/sets/default/set.js rename : static/forum/js/markitup/sets/default/style.css => djangobb/static/forum/js/markitup/sets/default/style.css rename : static/forum/js/markitup/sets/markdown/images/bold.png => djangobb/static/forum/js/markitup/sets/markdown/images/bold.png rename : static/forum/js/markitup/sets/markdown/images/code.png => djangobb/static/forum/js/markitup/sets/markdown/images/code.png rename : static/forum/js/markitup/sets/markdown/images/h1.png => djangobb/static/forum/js/markitup/sets/markdown/images/h1.png rename : static/forum/js/markitup/sets/markdown/images/h2.png => djangobb/static/forum/js/markitup/sets/markdown/images/h2.png rename : static/forum/js/markitup/sets/markdown/images/h3.png => djangobb/static/forum/js/markitup/sets/markdown/images/h3.png rename : static/forum/js/markitup/sets/markdown/images/h4.png => djangobb/static/forum/js/markitup/sets/markdown/images/h4.png rename : static/forum/js/markitup/sets/markdown/images/h5.png => djangobb/static/forum/js/markitup/sets/markdown/images/h5.png rename : static/forum/js/markitup/sets/markdown/images/h6.png => djangobb/static/forum/js/markitup/sets/markdown/images/h6.png rename : static/forum/js/markitup/sets/markdown/images/italic.png => djangobb/static/forum/js/markitup/sets/markdown/images/italic.png rename : static/forum/js/markitup/sets/markdown/images/link.png => djangobb/static/forum/js/markitup/sets/markdown/images/link.png rename : static/forum/js/markitup/sets/markdown/images/list-bullet.png => djangobb/static/forum/js/markitup/sets/markdown/images/list-bullet.png rename : static/forum/js/markitup/sets/markdown/images/list-numeric.png => djangobb/static/forum/js/markitup/sets/markdown/images/list-numeric.png rename : static/forum/js/markitup/sets/markdown/images/picture.png => djangobb/static/forum/js/markitup/sets/markdown/images/picture.png rename : static/forum/js/markitup/sets/markdown/images/preview.png => djangobb/static/forum/js/markitup/sets/markdown/images/preview.png rename : static/forum/js/markitup/sets/markdown/images/quotes.png => djangobb/static/forum/js/markitup/sets/markdown/images/quotes.png rename : static/forum/js/markitup/sets/markdown/readme.txt => djangobb/static/forum/js/markitup/sets/markdown/readme.txt rename : static/forum/js/markitup/sets/markdown/set.js => djangobb/static/forum/js/markitup/sets/markdown/set.js rename : static/forum/js/markitup/sets/markdown/style.css => djangobb/static/forum/js/markitup/sets/markdown/style.css rename : static/forum/js/markitup/skins/markitup/images/bg-container.png => djangobb/static/forum/js/markitup/skins/markitup/images/bg-container.png rename : static/forum/js/markitup/skins/markitup/images/bg-editor-bbcode.png => djangobb/static/forum/js/markitup/skins/markitup/images/bg-editor-bbcode.png rename : static/forum/js/markitup/skins/markitup/images/bg-editor-dotclear.png => djangobb/static/forum/js/markitup/skins/markitup/images/bg-editor-dotclear.png rename : static/forum/js/markitup/skins/markitup/images/bg-editor-html.png => djangobb/static/forum/js/markitup/skins/markitup/images/bg-editor-html.png rename : static/forum/js/markitup/skins/markitup/images/bg-editor-json.png => djangobb/static/forum/js/markitup/skins/markitup/images/bg-editor-json.png rename : static/forum/js/markitup/skins/markitup/images/bg-editor-markdown.png => djangobb/static/forum/js/markitup/skins/markitup/images/bg-editor-markdown.png rename : static/forum/js/markitup/skins/markitup/images/bg-editor-textile.png => djangobb/static/forum/js/markitup/skins/markitup/images/bg-editor-textile.png rename : static/forum/js/markitup/skins/markitup/images/bg-editor-wiki.png => djangobb/static/forum/js/markitup/skins/markitup/images/bg-editor-wiki.png rename : static/forum/js/markitup/skins/markitup/images/bg-editor-xml.png => djangobb/static/forum/js/markitup/skins/markitup/images/bg-editor-xml.png rename : static/forum/js/markitup/skins/markitup/images/bg-editor.png => djangobb/static/forum/js/markitup/skins/markitup/images/bg-editor.png rename : static/forum/js/markitup/skins/markitup/images/handle.png => djangobb/static/forum/js/markitup/skins/markitup/images/handle.png rename : static/forum/js/markitup/skins/markitup/images/menu.png => djangobb/static/forum/js/markitup/skins/markitup/images/menu.png rename : static/forum/js/markitup/skins/markitup/images/submenu.png => djangobb/static/forum/js/markitup/skins/markitup/images/submenu.png rename : static/forum/js/markitup/skins/markitup/style.css => djangobb/static/forum/js/markitup/skins/markitup/style.css rename : static/forum/js/markitup/skins/simple/images/handle.png => djangobb/static/forum/js/markitup/skins/simple/images/handle.png rename : static/forum/js/markitup/skins/simple/images/menu.png => djangobb/static/forum/js/markitup/skins/simple/images/menu.png rename : static/forum/js/markitup/skins/simple/images/submenu.png => djangobb/static/forum/js/markitup/skins/simple/images/submenu.png rename : static/forum/js/markitup/skins/simple/style.css => djangobb/static/forum/js/markitup/skins/simple/style.css rename : static/forum/js/markitup/templates/preview.css => djangobb/static/forum/js/markitup/templates/preview.css rename : static/forum/js/markitup/templates/preview.html => djangobb/static/forum/js/markitup/templates/preview.html rename : static/forum/js/rounded_corners.inc.js => djangobb/static/forum/js/rounded_corners.inc.js rename : static/forum/themes/DjangoBB/css/djangobb_cs.css => djangobb/static/forum/themes/DjangoBB/css/djangobb_cs.css rename : static/forum/themes/DjangoBB/img/active_topic.gif => djangobb/static/forum/themes/DjangoBB/img/active_topic.gif rename : static/forum/themes/DjangoBB/img/active_topic2.gif => djangobb/static/forum/themes/DjangoBB/img/active_topic2.gif rename : static/forum/themes/DjangoBB/img/active_topic22.gif => djangobb/static/forum/themes/DjangoBB/img/active_topic22.gif rename : static/forum/themes/DjangoBB/img/active_topic3.gif => djangobb/static/forum/themes/DjangoBB/img/active_topic3.gif rename : static/forum/themes/DjangoBB/img/back.gif => djangobb/static/forum/themes/DjangoBB/img/back.gif rename : static/forum/themes/DjangoBB/img/category.gif => djangobb/static/forum/themes/DjangoBB/img/category.gif rename : static/forum/themes/DjangoBB/img/closed.png => djangobb/static/forum/themes/DjangoBB/img/closed.png rename : static/forum/themes/DjangoBB/img/fon111.gif => djangobb/static/forum/themes/DjangoBB/img/fon111.gif rename : static/forum/themes/DjangoBB/img/inactive_topic.gif => djangobb/static/forum/themes/DjangoBB/img/inactive_topic.gif rename : static/forum/themes/DjangoBB/img/inactive_topic2.gif => djangobb/static/forum/themes/DjangoBB/img/inactive_topic2.gif rename : static/forum/themes/DjangoBB/img/inactive_topic3.gif => djangobb/static/forum/themes/DjangoBB/img/inactive_topic3.gif rename : static/forum/themes/DjangoBB/img/link.png => djangobb/static/forum/themes/DjangoBB/img/link.png rename : static/forum/themes/DjangoBB/img/stats.gif => djangobb/static/forum/themes/DjangoBB/img/stats.gif rename : static/forum/themes/DjangoBB/style.css => djangobb/static/forum/themes/DjangoBB/style.css rename : static/forum/themes/IPB/css/Invision-board_cs.css => djangobb/static/forum/themes/IPB/css/Invision-board_cs.css rename : static/forum/themes/IPB/img/f_closed.gif => djangobb/static/forum/themes/IPB/img/f_closed.gif rename : static/forum/themes/IPB/img/f_moved.gif => djangobb/static/forum/themes/IPB/img/f_moved.gif rename : static/forum/themes/IPB/img/f_new.gif => djangobb/static/forum/themes/IPB/img/f_new.gif rename : static/forum/themes/IPB/img/f_norm.gif => djangobb/static/forum/themes/IPB/img/f_norm.gif rename : static/forum/themes/IPB/img/f_stiky.gif => djangobb/static/forum/themes/IPB/img/f_stiky.gif rename : static/forum/themes/IPB/img/f_stikynew.gif => djangobb/static/forum/themes/IPB/img/f_stikynew.gif rename : static/forum/themes/IPB/img/logo.gif => djangobb/static/forum/themes/IPB/img/logo.gif rename : static/forum/themes/IPB/img/nav_m.gif => djangobb/static/forum/themes/IPB/img/nav_m.gif rename : static/forum/themes/IPB/img/pix.gif => djangobb/static/forum/themes/IPB/img/pix.gif rename : static/forum/themes/IPB/img/stats.gif => djangobb/static/forum/themes/IPB/img/stats.gif rename : static/forum/themes/IPB/img/title_back.gif => djangobb/static/forum/themes/IPB/img/title_back.gif rename : static/forum/themes/IPB/img/title_cat.gif => djangobb/static/forum/themes/IPB/img/title_cat.gif rename : static/forum/themes/IPB/img/title_sub.gif => djangobb/static/forum/themes/IPB/img/title_sub.gif rename : static/forum/themes/IPB/style.css => djangobb/static/forum/themes/IPB/style.css rename : static/forum/themes/base.css => djangobb/static/forum/themes/base.css rename : static/forum/themes/default/css/default_cs.css => djangobb/static/forum/themes/default/css/default_cs.css rename : static/forum/themes/default/img/active_topic.gif => djangobb/static/forum/themes/default/img/active_topic.gif rename : static/forum/themes/default/img/back.gif => djangobb/static/forum/themes/default/img/back.gif rename : static/forum/themes/default/img/category.gif => djangobb/static/forum/themes/default/img/category.gif rename : static/forum/themes/default/img/closed.png => djangobb/static/forum/themes/default/img/closed.png rename : static/forum/themes/default/img/closed_topic.gif => djangobb/static/forum/themes/default/img/closed_topic.gif rename : static/forum/themes/default/img/fon111.gif => djangobb/static/forum/themes/default/img/fon111.gif rename : static/forum/themes/default/img/inactive_topic.gif => djangobb/static/forum/themes/default/img/inactive_topic.gif rename : static/forum/themes/default/img/link.png => djangobb/static/forum/themes/default/img/link.png rename : static/forum/themes/default/img/stats.gif => djangobb/static/forum/themes/default/img/stats.gif rename : static/forum/themes/default/img/sticky_topic.gif => djangobb/static/forum/themes/default/img/sticky_topic.gif rename : static/forum/themes/default/style.css => djangobb/static/forum/themes/default/style.css rename : static/forum/themes/phpBB/css/phpbb_blue_cs.css => djangobb/static/forum/themes/phpBB/css/phpbb_blue_cs.css rename : static/forum/themes/phpBB/img/cellpic1.gif => djangobb/static/forum/themes/phpBB/img/cellpic1.gif rename : static/forum/themes/phpBB/img/cellpic2.gif => djangobb/static/forum/themes/phpBB/img/cellpic2.gif rename : static/forum/themes/phpBB/img/icon_closed.gif => djangobb/static/forum/themes/phpBB/img/icon_closed.gif rename : static/forum/themes/phpBB/img/icon_moved.gif => djangobb/static/forum/themes/phpBB/img/icon_moved.gif rename : static/forum/themes/phpBB/img/icon_new.gif => djangobb/static/forum/themes/phpBB/img/icon_new.gif rename : static/forum/themes/phpBB/img/icon_normal.gif => djangobb/static/forum/themes/phpBB/img/icon_normal.gif rename : static/forum/themes/phpBB/img/icon_post.gif => djangobb/static/forum/themes/phpBB/img/icon_post.gif rename : static/forum/themes/phpBB/img/icon_redirect.gif => djangobb/static/forum/themes/phpBB/img/icon_redirect.gif rename : static/forum/themes/phpBB/img/icon_sticky.gif => djangobb/static/forum/themes/phpBB/img/icon_sticky.gif rename : static/forum/themes/phpBB/style.css => djangobb/static/forum/themes/phpBB/style.css rename : static/forum/themes/punBB/css/Oxygen_cs.css => djangobb/static/forum/themes/punBB/css/Oxygen_cs.css rename : static/forum/themes/punBB/style.css => djangobb/static/forum/themes/punBB/style.css rename : static/openid/css/openid.css => djangobb/static/openid/css/openid.css rename : static/openid/images/aol.gif => djangobb/static/openid/images/aol.gif rename : static/openid/images/blogger.ico => djangobb/static/openid/images/blogger.ico rename : static/openid/images/claimid.ico => djangobb/static/openid/images/claimid.ico rename : static/openid/images/facebook.gif => djangobb/static/openid/images/facebook.gif rename : static/openid/images/flickr.ico => djangobb/static/openid/images/flickr.ico rename : static/openid/images/google.gif => djangobb/static/openid/images/google.gif rename : static/openid/images/livejournal.ico => djangobb/static/openid/images/livejournal.ico rename : static/openid/images/myopenid.ico => djangobb/static/openid/images/myopenid.ico rename : static/openid/images/openid-inputicon.gif => djangobb/static/openid/images/openid-inputicon.gif rename : static/openid/images/openid.gif => djangobb/static/openid/images/openid.gif rename : static/openid/images/technorati.ico => djangobb/static/openid/images/technorati.ico rename : static/openid/images/verisign.ico => djangobb/static/openid/images/verisign.ico rename : static/openid/images/vidoop.ico => djangobb/static/openid/images/vidoop.ico rename : static/openid/images/wordpress.ico => djangobb/static/openid/images/wordpress.ico rename : static/openid/images/yahoo.gif => djangobb/static/openid/images/yahoo.gif rename : static/openid/js/openid-jquery.js => djangobb/static/openid/js/openid-jquery.js rename : templates/authopenid/associate.html => djangobb/templates/authopenid/associate.html rename : templates/authopenid/associate_email.txt => djangobb/templates/authopenid/associate_email.txt rename : templates/authopenid/associate_email_subject.txt => djangobb/templates/authopenid/associate_email_subject.txt rename : templates/authopenid/complete.html => djangobb/templates/authopenid/complete.html rename : templates/authopenid/dissociate.html => djangobb/templates/authopenid/dissociate.html rename : templates/authopenid/failure.html => djangobb/templates/authopenid/failure.html rename : templates/authopenid/password_change_form.html => djangobb/templates/authopenid/password_change_form.html rename : templates/authopenid/signin.html => djangobb/templates/authopenid/signin.html rename : templates/base.html => djangobb/templates/base.html rename : templates/registration/activate.html => djangobb/templates/registration/activate.html rename : templates/registration/activation_email.txt => djangobb/templates/registration/activation_email.txt rename : templates/registration/activation_email_subject.txt => djangobb/templates/registration/activation_email_subject.txt rename : templates/registration/registration_complete.html => djangobb/templates/registration/registration_complete.html rename : templates/registration/registration_form.html => djangobb/templates/registration/registration_form.html rename : urls.py => djangobb/urls.py
276 lines
8.3 KiB
Python
276 lines
8.3 KiB
Python
from datetime import datetime
|
|
import os.path
|
|
import random
|
|
import re
|
|
from HTMLParser import HTMLParser
|
|
|
|
from django.shortcuts import render_to_response
|
|
from django.template import RequestContext
|
|
from django.http import HttpResponse, Http404
|
|
from django.utils.functional import Promise
|
|
from django.utils.translation import force_unicode, check_for_language
|
|
from django.utils.simplejson import JSONEncoder
|
|
from django import forms
|
|
from django.template.defaultfilters import urlize as django_urlize
|
|
from django.core.paginator import Paginator, EmptyPage, InvalidPage
|
|
from django.conf import settings
|
|
|
|
from forum import settings as forum_settings
|
|
|
|
|
|
#compile smiles regexp
|
|
_SMILES = [(re.compile(smile_re), path) for smile_re, path in forum_settings.SMILES]
|
|
|
|
def render_to(template):
|
|
"""
|
|
Decorator for Django views that sends returned dict to render_to_response function.
|
|
|
|
Template name can be decorator parameter or TEMPLATE item in returned dictionary.
|
|
RequestContext always added as context instance.
|
|
If view doesn't return dict then decorator simply returns output.
|
|
|
|
Parameters:
|
|
- template: template name to use
|
|
|
|
Examples:
|
|
# 1. Template name in decorator parameters
|
|
|
|
@render_to('template.html')
|
|
def foo(request):
|
|
bar = Bar.object.all()
|
|
return {'bar': bar}
|
|
|
|
# equals to
|
|
def foo(request):
|
|
bar = Bar.object.all()
|
|
return render_to_response('template.html',
|
|
{'bar': bar},
|
|
context_instance=RequestContext(request))
|
|
|
|
# 2. Template name as TEMPLATE item value in return dictionary
|
|
|
|
@render_to()
|
|
def foo(request, category):
|
|
template_name = '%s.html' % category
|
|
return {'bar': bar, 'TEMPLATE': template_name}
|
|
|
|
#equals to
|
|
def foo(request, category):
|
|
template_name = '%s.html' % category
|
|
return render_to_response(template_name,
|
|
{'bar': bar},
|
|
context_instance=RequestContext(request))
|
|
"""
|
|
|
|
def renderer(function):
|
|
def wrapper(request, *args, **kwargs):
|
|
output = function(request, *args, **kwargs)
|
|
if not isinstance(output, dict):
|
|
return output
|
|
tmpl = output.pop('TEMPLATE', template)
|
|
return render_to_response(tmpl, output, context_instance=RequestContext(request))
|
|
return wrapper
|
|
return renderer
|
|
|
|
def absolute_url(path):
|
|
return 'http://%s%s' % (forum_settings.HOST, path)
|
|
|
|
def paged(paged_list_name, per_page):
|
|
"""
|
|
Parse page from GET data and pass it to view. Split the
|
|
query set returned from view.
|
|
"""
|
|
|
|
def decorator(func):
|
|
def wrapper(request, *args, **kwargs):
|
|
result = func(request, *args, **kwargs)
|
|
if not isinstance(result, dict) or 'paged_qs' not in result:
|
|
return result
|
|
try:
|
|
page = int(request.GET.get('page', 1))
|
|
except ValueError:
|
|
page = 1
|
|
|
|
real_per_page = per_page
|
|
|
|
#if per_page_var:
|
|
#try:
|
|
#value = int(request.GET[per_page_var])
|
|
#except (ValueError, KeyError):
|
|
#pass
|
|
#else:
|
|
#if value > 0:
|
|
#real_per_page = value
|
|
|
|
from django.core.paginator import Paginator
|
|
paginator = Paginator(result['paged_qs'], real_per_page)
|
|
try:
|
|
result[paged_list_name] = paginator.page(page).object_list
|
|
except (InvalidPage, EmptyPage):
|
|
raise Http404
|
|
result['page'] = page
|
|
result['page_list'] = range(1, paginator.num_pages + 1)
|
|
result['pages'] = paginator.num_pages
|
|
result['per_page'] = real_per_page
|
|
result['request'] = request
|
|
return result
|
|
return wrapper
|
|
|
|
return decorator
|
|
|
|
|
|
def ajax(func):
|
|
"""
|
|
Checks request.method is POST. Return error in JSON in other case.
|
|
|
|
If view returned dict, returns JsonResponse with this dict as content.
|
|
"""
|
|
def wrapper(request, *args, **kwargs):
|
|
if request.method == 'POST':
|
|
try:
|
|
response = func(request, *args, **kwargs)
|
|
except Exception, ex:
|
|
response = {'error': traceback.format_exc()}
|
|
else:
|
|
response = {'error': {'type': 403, 'message': 'Accepts only POST request'}}
|
|
if isinstance(response, dict):
|
|
return JsonResponse(response)
|
|
else:
|
|
return response
|
|
return wrapper
|
|
|
|
|
|
class LazyJSONEncoder(JSONEncoder):
|
|
"""
|
|
This fing need to save django from crashing.
|
|
"""
|
|
|
|
def default(self, o):
|
|
if isinstance(o, Promise):
|
|
return force_unicode(o)
|
|
else:
|
|
return super(LazyJSONEncoder, self).default(o)
|
|
|
|
|
|
class JsonResponse(HttpResponse):
|
|
"""
|
|
HttpResponse subclass that serialize data into JSON format.
|
|
"""
|
|
|
|
def __init__(self, data, mimetype='application/json'):
|
|
json_data = LazyJSONEncoder().encode(data)
|
|
super(JsonResponse, self).__init__(
|
|
content=json_data, mimetype=mimetype)
|
|
|
|
|
|
def build_form(Form, _request, GET=False, *args, **kwargs):
|
|
"""
|
|
Shorcut for building the form instance of given form class
|
|
"""
|
|
|
|
if not GET and 'POST' == _request.method:
|
|
form = Form(_request.POST, _request.FILES, *args, **kwargs)
|
|
elif GET and 'GET' == _request.method:
|
|
form = Form(_request.GET, _request.FILES, *args, **kwargs)
|
|
else:
|
|
form = Form(*args, **kwargs)
|
|
return form
|
|
|
|
class ExcludeTagsHTMLParser(HTMLParser):
|
|
"""
|
|
Class for html parsing with excluding specified tags.
|
|
"""
|
|
|
|
def __init__(self, func, tags=('a', 'code')):
|
|
HTMLParser.__init__(self)
|
|
self.func = func
|
|
self.is_ignored = False
|
|
self.tags = tags
|
|
self.html = []
|
|
|
|
def handle_starttag(self, tag, attrs):
|
|
self.html.append('<%s%s>' % (tag, self.__html_attrs(attrs)))
|
|
if tag in self.tags:
|
|
self.is_ignored = True
|
|
|
|
def handle_data(self, data):
|
|
if not self.is_ignored:
|
|
data = self.func(data)
|
|
self.html.append(data)
|
|
|
|
def handle_startendtag(self, tag, attrs):
|
|
self.html.append('<%s%s/>' % (tag, self.__html_attrs(attrs)))
|
|
|
|
def handle_endtag(self, tag):
|
|
self.is_ignored = False
|
|
self.html.append('</%s>' % (tag))
|
|
|
|
def handle_entityref(self, name):
|
|
self.html.append('&%s;' % name)
|
|
|
|
def handle_charref(self, name):
|
|
self.html.append('&%s;' % name)
|
|
|
|
def __html_attrs(self, attrs):
|
|
_attrs = ''
|
|
if attrs:
|
|
_attrs = ' %s' % (' '.join([('%s="%s"' % (k,v)) for k,v in attrs]))
|
|
return _attrs
|
|
|
|
def feed(self, data):
|
|
HTMLParser.feed(self, data)
|
|
self.html = ''.join(self.html)
|
|
|
|
def urlize(data):
|
|
"""
|
|
Urlize plain text links in the HTML contents.
|
|
|
|
Do not urlize content of A and CODE tags.
|
|
"""
|
|
|
|
parser = ExcludeTagsHTMLParser(django_urlize)
|
|
parser.feed(data)
|
|
urlized_html = parser.html
|
|
parser.close()
|
|
return urlized_html
|
|
|
|
def _smile_replacer(data):
|
|
for smile, path in _SMILES:
|
|
data = smile.sub(path, data)
|
|
return data
|
|
|
|
def smiles(data):
|
|
"""
|
|
Replace text smiles.
|
|
"""
|
|
|
|
parser = ExcludeTagsHTMLParser(_smile_replacer)
|
|
parser.feed(data)
|
|
smiled_html = parser.html
|
|
parser.close()
|
|
return smiled_html
|
|
|
|
def paginate(items, request, per_page, total_count=None):
|
|
try:
|
|
page_number = int(request.GET.get('page', 1))
|
|
except ValueError:
|
|
page_number = 1
|
|
|
|
paginator = Paginator(items, per_page)
|
|
pages = paginator.num_pages
|
|
try:
|
|
paged_list_name = paginator.page(page_number).object_list
|
|
except (InvalidPage, EmptyPage):
|
|
raise Http404
|
|
return pages, paginator, paged_list_name
|
|
|
|
def set_language(request, language):
|
|
"""
|
|
Change the language of session of authenticated user.
|
|
"""
|
|
|
|
if language and check_for_language(language):
|
|
if hasattr(request, 'session'):
|
|
request.session['django_language'] = language
|
|
else:
|
|
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language)
|