├── __init__.py
├── bt
├── __init__.py
├── migrations
│ └── __init__.py
├── templatetags
│ ├── __init__.py
│ └── bt.py
├── tests.py
├── feeds.py
├── admin.py
└── api.py
├── media
├── img
│ ├── asc.gif
│ ├── bg.gif
│ ├── eye.png
│ ├── desc.gif
│ ├── noise.png
│ ├── plus_alt.png
│ └── minus_alt.png
├── js
│ ├── flashcanvas.swf
│ ├── tinymce
│ │ ├── plugins
│ │ │ ├── example
│ │ │ │ ├── langs
│ │ │ │ │ ├── en.js
│ │ │ │ │ └── en_dlg.js
│ │ │ │ ├── img
│ │ │ │ │ └── example.gif
│ │ │ │ ├── js
│ │ │ │ │ └── dialog.js
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── dialog.htm
│ │ │ ├── media
│ │ │ │ ├── img
│ │ │ │ │ ├── flash.gif
│ │ │ │ │ ├── trans.gif
│ │ │ │ │ ├── flv_player.swf
│ │ │ │ │ ├── quicktime.gif
│ │ │ │ │ ├── realmedia.gif
│ │ │ │ │ ├── shockwave.gif
│ │ │ │ │ └── windowsmedia.gif
│ │ │ │ ├── css
│ │ │ │ │ ├── content.css
│ │ │ │ │ └── media.css
│ │ │ │ └── js
│ │ │ │ │ └── embed.js
│ │ │ ├── advimage
│ │ │ │ ├── img
│ │ │ │ │ └── sample.gif
│ │ │ │ ├── css
│ │ │ │ │ └── advimage.css
│ │ │ │ ├── editor_plugin.js
│ │ │ │ ├── langs
│ │ │ │ │ └── en_dlg.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── pagebreak
│ │ │ │ ├── img
│ │ │ │ │ ├── trans.gif
│ │ │ │ │ └── pagebreak.gif
│ │ │ │ ├── css
│ │ │ │ │ └── content.css
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── advhr
│ │ │ │ ├── langs
│ │ │ │ │ └── en_dlg.js
│ │ │ │ ├── css
│ │ │ │ │ └── advhr.css
│ │ │ │ ├── editor_plugin.js
│ │ │ │ ├── js
│ │ │ │ │ └── rule.js
│ │ │ │ ├── editor_plugin_src.js
│ │ │ │ └── rule.htm
│ │ │ ├── emotions
│ │ │ │ ├── img
│ │ │ │ │ ├── smiley-cry.gif
│ │ │ │ │ ├── smiley-cool.gif
│ │ │ │ │ ├── smiley-frown.gif
│ │ │ │ │ ├── smiley-kiss.gif
│ │ │ │ │ ├── smiley-sealed.gif
│ │ │ │ │ ├── smiley-smile.gif
│ │ │ │ │ ├── smiley-wink.gif
│ │ │ │ │ ├── smiley-yell.gif
│ │ │ │ │ ├── smiley-innocent.gif
│ │ │ │ │ ├── smiley-laughing.gif
│ │ │ │ │ ├── smiley-embarassed.gif
│ │ │ │ │ ├── smiley-money-mouth.gif
│ │ │ │ │ ├── smiley-surprised.gif
│ │ │ │ │ ├── smiley-tongue-out.gif
│ │ │ │ │ ├── smiley-undecided.gif
│ │ │ │ │ └── smiley-foot-in-mouth.gif
│ │ │ │ ├── langs
│ │ │ │ │ └── en_dlg.js
│ │ │ │ ├── js
│ │ │ │ │ └── emotions.js
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── spellchecker
│ │ │ │ ├── img
│ │ │ │ │ └── wline.gif
│ │ │ │ ├── css
│ │ │ │ │ └── content.css
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── wordcount
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── inlinepopups
│ │ │ │ └── skins
│ │ │ │ │ └── clearlooks2
│ │ │ │ │ └── img
│ │ │ │ │ ├── alert.gif
│ │ │ │ │ ├── button.gif
│ │ │ │ │ ├── buttons.gif
│ │ │ │ │ ├── confirm.gif
│ │ │ │ │ ├── corners.gif
│ │ │ │ │ ├── vertical.gif
│ │ │ │ │ └── horizontal.gif
│ │ │ ├── searchreplace
│ │ │ │ ├── css
│ │ │ │ │ └── searchreplace.css
│ │ │ │ ├── langs
│ │ │ │ │ └── en_dlg.js
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── table
│ │ │ │ ├── css
│ │ │ │ │ ├── table.css
│ │ │ │ │ ├── cell.css
│ │ │ │ │ └── row.css
│ │ │ │ ├── js
│ │ │ │ │ └── merge_cells.js
│ │ │ │ ├── merge_cells.htm
│ │ │ │ └── langs
│ │ │ │ │ └── en_dlg.js
│ │ │ ├── paste
│ │ │ │ ├── langs
│ │ │ │ │ └── en_dlg.js
│ │ │ │ ├── pasteword.htm
│ │ │ │ ├── js
│ │ │ │ │ ├── pastetext.js
│ │ │ │ │ └── pasteword.js
│ │ │ │ └── pastetext.htm
│ │ │ ├── xhtmlxtras
│ │ │ │ ├── css
│ │ │ │ │ ├── attributes.css
│ │ │ │ │ └── popup.css
│ │ │ │ ├── js
│ │ │ │ │ ├── abbr.js
│ │ │ │ │ ├── cite.js
│ │ │ │ │ ├── acronym.js
│ │ │ │ │ ├── ins.js
│ │ │ │ │ └── del.js
│ │ │ │ ├── langs
│ │ │ │ │ └── en_dlg.js
│ │ │ │ └── editor_plugin.js
│ │ │ ├── autosave
│ │ │ │ └── langs
│ │ │ │ │ └── en.js
│ │ │ ├── template
│ │ │ │ ├── blank.htm
│ │ │ │ ├── css
│ │ │ │ │ └── template.css
│ │ │ │ ├── langs
│ │ │ │ │ └── en_dlg.js
│ │ │ │ └── template.htm
│ │ │ ├── print
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── advlink
│ │ │ │ ├── css
│ │ │ │ │ └── advlink.css
│ │ │ │ ├── editor_plugin.js
│ │ │ │ ├── langs
│ │ │ │ │ └── en_dlg.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── preview
│ │ │ │ ├── preview.html
│ │ │ │ ├── example.html
│ │ │ │ ├── editor_plugin.js
│ │ │ │ ├── editor_plugin_src.js
│ │ │ │ └── jscripts
│ │ │ │ │ └── embed.js
│ │ │ ├── iespell
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── style
│ │ │ │ ├── css
│ │ │ │ │ └── props.css
│ │ │ │ ├── editor_plugin.js
│ │ │ │ ├── editor_plugin_src.js
│ │ │ │ └── langs
│ │ │ │ │ └── en_dlg.js
│ │ │ ├── nonbreaking
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── autoresize
│ │ │ │ └── editor_plugin.js
│ │ │ ├── directionality
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── noneditable
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── visualchars
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── tabfocus
│ │ │ │ └── editor_plugin.js
│ │ │ ├── save
│ │ │ │ ├── editor_plugin.js
│ │ │ │ └── editor_plugin_src.js
│ │ │ ├── legacyoutput
│ │ │ │ └── editor_plugin.js
│ │ │ ├── insertdatetime
│ │ │ │ └── editor_plugin.js
│ │ │ ├── advlist
│ │ │ │ └── editor_plugin.js
│ │ │ ├── contextmenu
│ │ │ │ └── editor_plugin.js
│ │ │ └── fullpage
│ │ │ │ ├── langs
│ │ │ │ └── en_dlg.js
│ │ │ │ └── editor_plugin.js
│ │ ├── themes
│ │ │ ├── simple
│ │ │ │ ├── img
│ │ │ │ │ └── icons.gif
│ │ │ │ ├── skins
│ │ │ │ │ ├── o2k7
│ │ │ │ │ │ ├── img
│ │ │ │ │ │ │ └── button_bg.png
│ │ │ │ │ │ ├── content.css
│ │ │ │ │ │ └── ui.css
│ │ │ │ │ └── default
│ │ │ │ │ │ ├── content.css
│ │ │ │ │ │ └── ui.css
│ │ │ │ ├── langs
│ │ │ │ │ └── en.js
│ │ │ │ └── editor_template.js
│ │ │ └── advanced
│ │ │ │ ├── img
│ │ │ │ ├── icons.gif
│ │ │ │ └── colorpicker.jpg
│ │ │ │ ├── skins
│ │ │ │ ├── default
│ │ │ │ │ ├── img
│ │ │ │ │ │ ├── items.gif
│ │ │ │ │ │ ├── tabs.gif
│ │ │ │ │ │ ├── buttons.png
│ │ │ │ │ │ ├── menu_arrow.gif
│ │ │ │ │ │ ├── menu_check.gif
│ │ │ │ │ │ └── progress.gif
│ │ │ │ │ └── content.css
│ │ │ │ └── o2k7
│ │ │ │ │ ├── img
│ │ │ │ │ ├── button_bg.png
│ │ │ │ │ ├── button_bg_black.png
│ │ │ │ │ └── button_bg_silver.png
│ │ │ │ │ ├── ui_silver.css
│ │ │ │ │ ├── content.css
│ │ │ │ │ └── ui_black.css
│ │ │ │ ├── js
│ │ │ │ ├── anchor.js
│ │ │ │ ├── source_editor.js
│ │ │ │ └── about.js
│ │ │ │ ├── anchor.htm
│ │ │ │ ├── source_editor.htm
│ │ │ │ ├── langs
│ │ │ │ ├── en_dlg.js
│ │ │ │ └── en.js
│ │ │ │ ├── charmap.htm
│ │ │ │ └── link.htm
│ │ ├── preview_javascript.html
│ │ ├── example.html
│ │ ├── filebrowser.js
│ │ └── utils
│ │ │ ├── mctabs.js
│ │ │ └── editable_selects.js
│ ├── editor.js
│ ├── script.min.js
│ └── map.js
├── fonts
│ ├── DroidSans-webfont.eot
│ ├── DroidSans-webfont.ttf
│ ├── DroidSans-webfont.woff
│ ├── DroidSans-Bold-webfont.eot
│ ├── DroidSans-Bold-webfont.ttf
│ └── DroidSans-Bold-webfont.woff
└── css
│ ├── images
│ ├── ui-icons_222222_256x240.png
│ ├── ui-icons_228ef1_256x240.png
│ ├── ui-icons_ef8c08_256x240.png
│ ├── ui-icons_ffd27a_256x240.png
│ ├── ui-icons_ffffff_256x240.png
│ ├── ui-bg_flat_10_000000_40x100.png
│ ├── ui-bg_glass_100_f6f6f6_1x400.png
│ ├── ui-bg_glass_100_fdf5ce_1x400.png
│ ├── ui-bg_glass_65_ffffff_1x400.png
│ ├── ui-bg_gloss-wave_35_f6a828_500x100.png
│ ├── ui-bg_highlight-soft_75_ffe45c_1x100.png
│ ├── ui-bg_diagonals-thick_18_b81900_40x40.png
│ ├── ui-bg_diagonals-thick_20_666666_40x40.png
│ └── ui-bg_highlight-soft_100_eeeeee_1x100.png
│ └── map.css
├── templates
├── registration
│ ├── activation_email_subject.txt
│ ├── activation_complete.html
│ ├── activate.html
│ ├── password_change_done.html
│ ├── registration_complete.html
│ ├── registration_form.html
│ ├── password_reset_done.html
│ ├── password_reset_complete.html
│ ├── activation_email.txt
│ ├── login.html
│ ├── password_reset_form.html
│ ├── password_reset_email.html
│ ├── password_reset_confirm.html
│ └── password_change_form.html
├── csv.tmpl
├── 404.html
├── comments
│ └── comment_notification_email.txt
├── feeditem.html
├── add.html
├── about.html
└── base.html
├── babel.cfg
├── .gitignore
├── docs
├── EMAILS.md
└── SETUP.md
├── README.md
├── locale
└── do.sh
├── pip-requirements.txt
├── generate_catalog.sh
├── setup.cfg
├── manage.py
├── setup.py
└── urls.py
/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bt/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bt/migrations/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bt/templatetags/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/media/img/asc.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/img/asc.gif
--------------------------------------------------------------------------------
/media/img/bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/img/bg.gif
--------------------------------------------------------------------------------
/media/img/eye.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/img/eye.png
--------------------------------------------------------------------------------
/media/img/desc.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/img/desc.gif
--------------------------------------------------------------------------------
/media/img/noise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/img/noise.png
--------------------------------------------------------------------------------
/media/img/plus_alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/img/plus_alt.png
--------------------------------------------------------------------------------
/media/img/minus_alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/img/minus_alt.png
--------------------------------------------------------------------------------
/media/js/flashcanvas.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/flashcanvas.swf
--------------------------------------------------------------------------------
/templates/registration/activation_email_subject.txt:
--------------------------------------------------------------------------------
1 | {%load tagger%}{%root_url%} account registration
2 |
--------------------------------------------------------------------------------
/media/fonts/DroidSans-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/fonts/DroidSans-webfont.eot
--------------------------------------------------------------------------------
/media/fonts/DroidSans-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/fonts/DroidSans-webfont.ttf
--------------------------------------------------------------------------------
/media/fonts/DroidSans-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/fonts/DroidSans-webfont.woff
--------------------------------------------------------------------------------
/media/fonts/DroidSans-Bold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/fonts/DroidSans-Bold-webfont.eot
--------------------------------------------------------------------------------
/media/fonts/DroidSans-Bold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/fonts/DroidSans-Bold-webfont.ttf
--------------------------------------------------------------------------------
/media/fonts/DroidSans-Bold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/fonts/DroidSans-Bold-webfont.woff
--------------------------------------------------------------------------------
/media/css/images/ui-icons_222222_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-icons_222222_256x240.png
--------------------------------------------------------------------------------
/media/css/images/ui-icons_228ef1_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-icons_228ef1_256x240.png
--------------------------------------------------------------------------------
/media/css/images/ui-icons_ef8c08_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-icons_ef8c08_256x240.png
--------------------------------------------------------------------------------
/media/css/images/ui-icons_ffd27a_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-icons_ffd27a_256x240.png
--------------------------------------------------------------------------------
/media/css/images/ui-icons_ffffff_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-icons_ffffff_256x240.png
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/example/langs/en.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.example',{
2 | desc : 'This is just a template button'
3 | });
4 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/media/img/flash.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/media/img/flash.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/media/img/trans.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/media/img/trans.gif
--------------------------------------------------------------------------------
/media/js/tinymce/themes/simple/img/icons.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/simple/img/icons.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/example/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.example_dlg',{
2 | title : 'This is just a example title'
3 | });
4 |
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/img/icons.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/img/icons.gif
--------------------------------------------------------------------------------
/media/css/images/ui-bg_flat_10_000000_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-bg_flat_10_000000_40x100.png
--------------------------------------------------------------------------------
/media/css/images/ui-bg_glass_100_f6f6f6_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-bg_glass_100_f6f6f6_1x400.png
--------------------------------------------------------------------------------
/media/css/images/ui-bg_glass_100_fdf5ce_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-bg_glass_100_fdf5ce_1x400.png
--------------------------------------------------------------------------------
/media/css/images/ui-bg_glass_65_ffffff_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-bg_glass_65_ffffff_1x400.png
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advimage/img/sample.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/advimage/img/sample.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/example/img/example.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/example/img/example.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/media/img/flv_player.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/media/img/flv_player.swf
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/media/img/quicktime.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/media/img/quicktime.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/media/img/realmedia.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/media/img/realmedia.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/media/img/shockwave.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/media/img/shockwave.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/pagebreak/img/trans.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/pagebreak/img/trans.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advhr/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.advhr_dlg',{
2 | width:"Width",
3 | size:"Height",
4 | noshade:"No shadow"
5 | });
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-cry.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-cry.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/media/img/windowsmedia.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/media/img/windowsmedia.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/pagebreak/img/pagebreak.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/pagebreak/img/pagebreak.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/spellchecker/img/wline.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/spellchecker/img/wline.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/wordcount/editor_plugin.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/wordcount/editor_plugin.js
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/img/colorpicker.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/img/colorpicker.jpg
--------------------------------------------------------------------------------
/media/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-cool.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-cool.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-frown.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-frown.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-kiss.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-kiss.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-sealed.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-sealed.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-smile.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-smile.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-wink.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-wink.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-yell.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-yell.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/spellchecker/css/content.css:
--------------------------------------------------------------------------------
1 | .mceItemHiddenSpellWord {background:url(../img/wline.gif) repeat-x bottom left; cursor:default;}
2 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/spellchecker/editor_plugin.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/spellchecker/editor_plugin.js
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/wordcount/editor_plugin_src.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/wordcount/editor_plugin_src.js
--------------------------------------------------------------------------------
/templates/csv.tmpl:
--------------------------------------------------------------------------------
1 | {% for row in data %}{% for col in row %}"{{ col|safe|addslashes }}"{% if not loop.last %},{% endif %}{% endfor %}
2 | {% endfor %}
3 |
--------------------------------------------------------------------------------
/media/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-innocent.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-innocent.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-laughing.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-laughing.gif
--------------------------------------------------------------------------------
/babel.cfg:
--------------------------------------------------------------------------------
1 | [extractors]
2 | django = babeldjango.extract:extract_django
3 |
4 | [django: templates/*.*]
5 | [django: templates/comments/*.*]
6 | [python: bt/**.py]
7 |
--------------------------------------------------------------------------------
/media/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
--------------------------------------------------------------------------------
/media/css/images/ui-bg_diagonals-thick_20_666666_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
--------------------------------------------------------------------------------
/media/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-embarassed.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-embarassed.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-money-mouth.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-money-mouth.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-surprised.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-surprised.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-tongue-out.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-tongue-out.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-undecided.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-undecided.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/spellchecker/editor_plugin_src.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/spellchecker/editor_plugin_src.js
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/default/img/items.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/skins/default/img/items.gif
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/default/img/tabs.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/skins/default/img/tabs.gif
--------------------------------------------------------------------------------
/media/js/tinymce/themes/simple/skins/o2k7/img/button_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/simple/skins/o2k7/img/button_bg.png
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/default/img/buttons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/skins/default/img/buttons.png
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/o2k7/img/button_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/skins/o2k7/img/button_bg.png
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/default/img/menu_check.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/skins/default/img/menu_check.gif
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/default/img/progress.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/skins/default/img/progress.gif
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png
--------------------------------------------------------------------------------
/templates/404.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% block content %}
3 |
Page Not Found
4 | What you were looking for is just not there.
5 | {% endblock %}
6 |
7 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stef/nnmon/master/media/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # ignore python compiled files
2 | *.pyc
3 | # ignore mac files
4 | .DS_Store
5 | # ignore setup.py build dirs
6 | build/
7 | nnmon.egg-info/
8 | # ignore sqlite db
9 | *.db
10 | *.pyc
11 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/pagebreak/css/content.css:
--------------------------------------------------------------------------------
1 | .mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../img/pagebreak.gif) no-repeat center top;}
2 |
--------------------------------------------------------------------------------
/docs/EMAILS.md:
--------------------------------------------------------------------------------
1 | Reading emails in development mode
2 | ==================================
3 |
4 | In development mode, emails are written in `/tmp/app-messages/`.
5 | To find the last sent email use your funcky `ls` command:
6 |
7 | ls -ltr
8 |
9 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/searchreplace/css/searchreplace.css:
--------------------------------------------------------------------------------
1 | .panel_wrapper {height:85px;}
2 | .panel_wrapper div.current {height:85px;}
3 |
4 | /* IE */
5 | * html .panel_wrapper {height:100px;}
6 | * html .panel_wrapper div.current {height:100px;}
7 |
--------------------------------------------------------------------------------
/templates/registration/activation_complete.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load i18n %}
3 |
4 | {% block title %}Registration{% endblock %}
5 |
6 | {% block content %}
7 |
8 | {% trans "Your account is now active." %}
9 |
10 | {% endblock content %}
11 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/table/css/table.css:
--------------------------------------------------------------------------------
1 | /* CSS file for table dialog in the table plugin */
2 |
3 | .panel_wrapper div.current {
4 | height: 245px;
5 | }
6 |
7 | .advfield {
8 | width: 200px;
9 | }
10 |
11 | #class {
12 | width: 150px;
13 | }
14 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/paste/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.paste_dlg',{
2 | text_title:"Use CTRL+V on your keyboard to paste the text into the window.",
3 | text_linebreaks:"Keep linebreaks",
4 | word_title:"Use CTRL+V on your keyboard to paste the text into the window."
5 | });
--------------------------------------------------------------------------------
/templates/registration/activate.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load i18n %}
3 |
4 | {% block title %}Registration{% endblock %}
5 |
6 | {% block content %}
7 |
8 | {% trans "Your account activation might work now. If not mail me." %}
9 |
10 | {% endblock content %}
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | nnmon the bugtracker for teh internetz
2 | ======================================
3 |
4 | nnmon is the project running [respectmynet.eu](http://respectmynet.eu/).
5 |
6 | Installation
7 | ------------
8 |
9 | See [/docs/SETUP.md](nnmon/blob/master/docs/SETUP.md)
10 |
11 |
--------------------------------------------------------------------------------
/templates/registration/password_change_done.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load i18n %}
3 |
4 | {% block title %}{% trans 'Password change successful' %}{% endblock %}
5 |
6 | {% block content %}
7 |
8 |
{% trans 'Your password was changed.' %}
9 |
10 | {% endblock %}
11 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advhr/css/advhr.css:
--------------------------------------------------------------------------------
1 | input.radio {border:1px none #000; background:transparent; vertical-align:middle;}
2 | .panel_wrapper div.current {height:80px;}
3 | #width {width:50px; vertical-align:middle;}
4 | #width2 {width:50px; vertical-align:middle;}
5 | #size {width:100px;}
6 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/xhtmlxtras/css/attributes.css:
--------------------------------------------------------------------------------
1 | .panel_wrapper div.current {
2 | height: 290px;
3 | }
4 |
5 | #id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey {
6 | width: 200px;
7 | }
8 |
9 | #events_panel input {
10 | width: 200px;
11 | }
12 |
--------------------------------------------------------------------------------
/locale/do.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Compiling django/gettext language files ..."
4 | echo -n " "
5 | for i in `find -mindepth 1 -maxdepth 1 -type d`
6 | do
7 | echo -n "$i "
8 | cd $i/LC_MESSAGES
9 | msgfmt -o django.mo django.po
10 | cd ../..
11 | done
12 | echo " Finished"
13 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/autosave/langs/en.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.autosave',{
2 | restore_content: "Restore auto-saved content",
3 | warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?"
4 | });
--------------------------------------------------------------------------------
/templates/registration/registration_complete.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load i18n %}
3 |
4 | {% block title %}Registration{% endblock %}
5 |
6 | {% block content %}
7 |
8 | {% trans "An email containing account-activation information has been sent." %}
9 |
10 | {% endblock content %}
11 |
--------------------------------------------------------------------------------
/templates/comments/comment_notification_email.txt:
--------------------------------------------------------------------------------
1 | {%load bt%}
2 | A comment has been posted on {{ content_object }} by {{ comment.user }}.
3 | The comment reads as follows:
4 | {{ comment.comment }}
5 |
6 | Approve: {%root_url%}/comments/approve/{{ comment.id }}/
7 | Delete: {%root_url%}/comments/delete/{{ comment.id }}/
8 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/table/css/cell.css:
--------------------------------------------------------------------------------
1 | /* CSS file for cell dialog in the table plugin */
2 |
3 | .panel_wrapper div.current {
4 | height: 200px;
5 | }
6 |
7 | .advfield {
8 | width: 200px;
9 | }
10 |
11 | #action {
12 | margin-bottom: 3px;
13 | }
14 |
15 | #class {
16 | width: 150px;
17 | }
--------------------------------------------------------------------------------
/templates/registration/registration_form.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 |
3 | {% block title %}Registration{% endblock %}
4 |
5 | {% block content %}
6 |
7 |
13 |
14 | {% endblock content %}
15 |
--------------------------------------------------------------------------------
/pip-requirements.txt:
--------------------------------------------------------------------------------
1 | Babel>=0.9.6
2 | Django>=1.3
3 | django-ajax-selects>=1.1.4
4 | django-registration>=0.7
5 | django-simple-captcha>=0.2.0
6 | django-tinymce>=1.5
7 | pysqlite>=1.0.1
8 | BabelDjango>=0.2.2
9 | PIL>=1.1.7
10 | flup>=1.0.3.dev-20110405
11 | BeautifulSoup>=3.2.0
12 | python-twitter==0.8.2
13 | lxml
14 | django-tastypie
15 | South>=0.7.6
16 |
--------------------------------------------------------------------------------
/templates/registration/password_reset_done.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load i18n %}
3 |
4 | {% block title %}{% trans 'Password reset successful' %}{% endblock %}
5 |
6 | {% block content %}
7 |
8 | {% trans "We've e-mailed you instructions for setting your password to the e-mail address you submitted. You should be receiving it shortly." %}
9 |
10 | {% endblock %}
11 |
--------------------------------------------------------------------------------
/templates/registration/password_reset_complete.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load i18n %}
3 |
4 | {% block title %}{% trans 'Password reset complete' %}{% endblock %}
5 |
6 | {% block content %}
7 |
8 | {% trans "Your password has been set. You may go ahead and log in now." %}
9 |
10 | {% trans 'Log in' %}
11 |
12 | {% endblock %}
13 |
--------------------------------------------------------------------------------
/media/js/tinymce/themes/simple/langs/en.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.simple',{
2 | bold_desc:"Bold (Ctrl+B)",
3 | italic_desc:"Italic (Ctrl+I)",
4 | underline_desc:"Underline (Ctrl+U)",
5 | striketrough_desc:"Strikethrough",
6 | bullist_desc:"Unordered list",
7 | numlist_desc:"Ordered list",
8 | undo_desc:"Undo (Ctrl+Z)",
9 | redo_desc:"Redo (Ctrl+Y)",
10 | cleanup_desc:"Cleanup messy code"
11 | });
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/template/blank.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 | blank_page
4 |
5 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/template/css/template.css:
--------------------------------------------------------------------------------
1 | #frmbody {
2 | padding: 10px;
3 | background-color: #FFF;
4 | border: 1px solid #CCC;
5 | }
6 |
7 | .frmRow {
8 | margin-bottom: 10px;
9 | }
10 |
11 | #templatesrc {
12 | border: none;
13 | width: 320px;
14 | height: 240px;
15 | }
16 |
17 | .title {
18 | padding-bottom: 5px;
19 | }
20 |
21 | .mceActionPanel {
22 | padding-top: 5px;
23 | }
24 |
--------------------------------------------------------------------------------
/generate_catalog.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # launch this in the python virtualenv to regenerate the .pot :
3 | pybabel extract -F babel.cfg -o locale/django.pot .
4 |
5 | # then this to push it to transifex (after cheching you didn't loose anything
6 | # tx push -s
7 |
8 | # To pull the translated language do this :
9 | # tx pull
10 |
11 | # To add a language link with transifex do :
12 | # tx set -r nnmon.messagespot -l nl locale/nl/LC_MESSAGES/django.po
13 |
--------------------------------------------------------------------------------
/bt/tests.py:
--------------------------------------------------------------------------------
1 | """
2 | This file demonstrates writing tests using the unittest module. These will pass
3 | when you run "manage.py test".
4 |
5 | Replace this with more appropriate tests for your application.
6 | """
7 |
8 | from django.test import TestCase
9 |
10 |
11 | class SimpleTest(TestCase):
12 | def test_basic_addition(self):
13 | """
14 | Tests that 1 + 1 always equals 2.
15 | """
16 | self.assertEqual(1 + 1, 2)
17 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/table/css/row.css:
--------------------------------------------------------------------------------
1 | /* CSS file for row dialog in the table plugin */
2 |
3 | .panel_wrapper div.current {
4 | height: 200px;
5 | }
6 |
7 | .advfield {
8 | width: 200px;
9 | }
10 |
11 | #action {
12 | margin-bottom: 3px;
13 | }
14 |
15 | #rowtype,#align,#valign,#class,#height {
16 | width: 150px;
17 | }
18 |
19 | #height {
20 | width: 50px;
21 | }
22 |
23 | .col2 {
24 | padding-left: 20px;
25 | }
26 |
--------------------------------------------------------------------------------
/setup.cfg:
--------------------------------------------------------------------------------
1 | [egg_info]
2 | tag_build = dev
3 | tag_svn_revision = true
4 |
5 | [compile_catalog]
6 | directory = locale
7 | domain = django
8 | statistics = true
9 |
10 | [extract_messages]
11 | add_comments = TRANSLATORS:
12 | output_file = locale/django.pot
13 | width = 80
14 |
15 | [init_catalog]
16 | domain = django
17 | input_file = locale/django.pot
18 | output_dir = locale
19 |
20 | [update_catalog]
21 | domain = django
22 | input_file = locale/django.pot
23 | output_dir = locale
24 | previous = true
25 |
--------------------------------------------------------------------------------
/templates/registration/activation_email.txt:
--------------------------------------------------------------------------------
1 | {% load i18n %}
2 | {% load tagger %}
3 |
4 | {% trans "Here's your activation key" %}
5 | {{activation_key}}
6 |
7 | {% trans "Please click on this link to activate your account" %}
8 | {%root_url%}{% url registration_activate activation_key %}
9 |
10 | {% trans "This link will expire in:" %} {{expiration_days}} {% trans "days." %}
11 |
12 | {% comment %}
13 | {{site}}
14 | {{site.name}}
15 | {{site.domain}}
16 | (by default name == domain)
17 | {% endcomment %}
18 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/print/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.Print",{init:function(a,b){a.addCommand("mcePrint",function(){a.getWin().print()});a.addButton("print",{title:"print.print_desc",cmd:"mcePrint"})},getInfo:function(){return{longname:"Print",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("print",tinymce.plugins.Print)})();
--------------------------------------------------------------------------------
/media/js/tinymce/preview_javascript.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
13 |
--------------------------------------------------------------------------------
/templates/registration/login.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load i18n %}
3 |
4 | {% block title %}Login{% endblock %}
5 |
6 | {% block content %}
7 |
12 |
13 | [{% trans "Password reset" %} ]
14 |
15 | {% endblock %}
16 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.emotions_dlg',{
2 | title:"Insert emotion",
3 | desc:"Emotions",
4 | cool:"Cool",
5 | cry:"Cry",
6 | embarassed:"Embarassed",
7 | foot_in_mouth:"Foot in mouth",
8 | frown:"Frown",
9 | innocent:"Innocent",
10 | kiss:"Kiss",
11 | laughing:"Laughing",
12 | money_mouth:"Money mouth",
13 | sealed:"Sealed",
14 | smile:"Smile",
15 | surprised:"Surprised",
16 | tongue_out:"Tongue out",
17 | undecided:"Undecided",
18 | wink:"Wink",
19 | yell:"Yell"
20 | });
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advlink/css/advlink.css:
--------------------------------------------------------------------------------
1 | .mceLinkList, .mceAnchorList, #targetlist {width:280px;}
2 | .mceActionPanel {margin-top:7px;}
3 | .panel_wrapper div.current {height:320px;}
4 | #classlist, #title, #href {width:280px;}
5 | #popupurl, #popupname {width:200px;}
6 | #popupwidth, #popupheight, #popupleft, #popuptop {width:30px;vertical-align:middle;text-align:center;}
7 | #id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {width:200px;}
8 | #events_panel input {width:200px;}
9 |
--------------------------------------------------------------------------------
/media/js/tinymce/example.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | TinyMCE Debian Test
4 |
5 |
10 |
11 |
12 |
13 | TinyMCE Debian Test
14 |
15 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 | from django.core.management import execute_manager
3 | import imp
4 | try:
5 | imp.find_module('settings') # Assumed to be in the same directory.
6 | except ImportError:
7 | import sys
8 | sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n" % __file__)
9 | sys.exit(1)
10 |
11 | import settings
12 |
13 | if __name__ == "__main__":
14 | execute_manager(settings)
15 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/media/css/content.css:
--------------------------------------------------------------------------------
1 | .mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc;}
2 | .mceItemShockWave {background-image: url(../img/shockwave.gif);}
3 | .mceItemFlash {background-image:url(../img/flash.gif);}
4 | .mceItemQuickTime {background-image:url(../img/quicktime.gif);}
5 | .mceItemWindowsMedia {background-image:url(../img/windowsmedia.gif);}
6 | .mceItemRealMedia {background-image:url(../img/realmedia.gif);}
7 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/searchreplace/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.searchreplace_dlg',{
2 | searchnext_desc:"Find again",
3 | notfound:"The search has been completed. The search string could not be found.",
4 | search_title:"Find",
5 | replace_title:"Find/Replace",
6 | allreplaced:"All occurrences of the search string were replaced.",
7 | findwhat:"Find what",
8 | replacewith:"Replace with",
9 | direction:"Direction",
10 | up:"Up",
11 | down:"Down",
12 | mcase:"Match case",
13 | findnext:"Find next",
14 | replace:"Replace",
15 | replaceall:"Replace all"
16 | });
--------------------------------------------------------------------------------
/media/js/tinymce/themes/simple/skins/o2k7/content.css:
--------------------------------------------------------------------------------
1 | body, td, pre {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;}
2 |
3 | body {background: #FFF;}
4 | .mceVisualAid {border: 1px dashed #BBB;}
5 |
6 | /* IE */
7 |
8 | * html body {
9 | scrollbar-3dlight-color: #F0F0EE;
10 | scrollbar-arrow-color: #676662;
11 | scrollbar-base-color: #F0F0EE;
12 | scrollbar-darkshadow-color: #DDDDDD;
13 | scrollbar-face-color: #E0E0DD;
14 | scrollbar-highlight-color: #F0F0EE;
15 | scrollbar-shadow-color: #F0F0EE;
16 | scrollbar-track-color: #F5F5F5;
17 | }
18 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/xhtmlxtras/css/popup.css:
--------------------------------------------------------------------------------
1 | input.field, select.field {width:200px;}
2 | input.picker {width:179px; margin-left: 5px;}
3 | input.disabled {border-color:#F2F2F2;}
4 | img.picker {vertical-align:text-bottom; cursor:pointer;}
5 | h1 {padding: 0 0 5px 0;}
6 | .panel_wrapper div.current {height:160px;}
7 | #xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {height: 230px;}
8 | a.browse span {display:block; width:20px; height:20px; background:url('../../../themes/advanced/img/icons.gif') -140px -20px;}
9 | #datetime {width:180px;}
10 |
--------------------------------------------------------------------------------
/templates/registration/password_reset_form.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load i18n %}
3 |
4 | {% block title %}{% trans "Password reset" %}{% endblock %}
5 |
6 | {% block content %}
7 |
8 | {% trans "Forgotten your password? Enter your e-mail address below, and we'll e-mail instructions for setting a new one." %}
9 |
10 | {% csrf_token %}
11 | {{ form.email.errors }}
12 | {% trans 'E-mail address:' %} {{ form.email }}
13 |
14 |
15 | {% endblock %}
16 |
--------------------------------------------------------------------------------
/media/js/tinymce/filebrowser.js:
--------------------------------------------------------------------------------
1 | function djangoFileBrowser(field_name, url, type, win) {
2 | var url = "{{ fb_url }}?pop=2&type=" + type;
3 |
4 | tinyMCE.activeEditor.windowManager.open(
5 | {
6 | 'file': url,
7 | 'width': 820,
8 | 'height': 500,
9 | 'resizable': "yes",
10 | 'scrollbars': "yes",
11 | 'inline': "no",
12 | 'close_previous': "no"
13 | },
14 | {
15 | 'window': win,
16 | 'input': field_name,
17 | 'editor_id': tinyMCE.selectedInstance.editorId
18 | }
19 | );
20 | return false;
21 | }
22 |
--------------------------------------------------------------------------------
/media/js/tinymce/themes/simple/skins/default/content.css:
--------------------------------------------------------------------------------
1 | body, td, pre {
2 | font-family: Verdana, Arial, Helvetica, sans-serif;
3 | font-size: 10px;
4 | }
5 |
6 | body {
7 | background-color: #FFFFFF;
8 | }
9 |
10 | .mceVisualAid {
11 | border: 1px dashed #BBBBBB;
12 | }
13 |
14 | /* MSIE specific */
15 |
16 | * html body {
17 | scrollbar-3dlight-color: #F0F0EE;
18 | scrollbar-arrow-color: #676662;
19 | scrollbar-base-color: #F0F0EE;
20 | scrollbar-darkshadow-color: #DDDDDD;
21 | scrollbar-face-color: #E0E0DD;
22 | scrollbar-highlight-color: #F0F0EE;
23 | scrollbar-shadow-color: #F0F0EE;
24 | scrollbar-track-color: #F5F5F5;
25 | }
26 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/js/emotions.js:
--------------------------------------------------------------------------------
1 | tinyMCEPopup.requireLangPack();
2 |
3 | var EmotionsDialog = {
4 | init : function(ed) {
5 | tinyMCEPopup.resizeToInnerSize();
6 | },
7 |
8 | insert : function(file, title) {
9 | var ed = tinyMCEPopup.editor, dom = ed.dom;
10 |
11 | tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', {
12 | src : tinyMCEPopup.getWindowArg('plugin_url') + '/img/' + file,
13 | alt : ed.getLang(title),
14 | title : ed.getLang(title),
15 | border : 0
16 | }));
17 |
18 | tinyMCEPopup.close();
19 | }
20 | };
21 |
22 | tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog);
23 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(a){a.create("tinymce.plugins.EmotionsPlugin",{init:function(b,c){b.addCommand("mceEmotion",function(){b.windowManager.open({file:c+"/emotions.htm",width:250+parseInt(b.getLang("emotions.delta_width",0)),height:160+parseInt(b.getLang("emotions.delta_height",0)),inline:1},{plugin_url:c})});b.addButton("emotions",{title:"emotions.emotions_desc",cmd:"mceEmotion"})},getInfo:function(){return{longname:"Emotions",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("emotions",a.plugins.EmotionsPlugin)})(tinymce);
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/xhtmlxtras/js/abbr.js:
--------------------------------------------------------------------------------
1 | /**
2 | * abbr.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | function init() {
12 | SXE.initElementDialog('abbr');
13 | if (SXE.currentAction == "update") {
14 | SXE.showRemoveButton();
15 | }
16 | }
17 |
18 | function insertAbbr() {
19 | SXE.insertElement('abbr');
20 | tinyMCEPopup.close();
21 | }
22 |
23 | function removeAbbr() {
24 | SXE.removeElement('abbr');
25 | tinyMCEPopup.close();
26 | }
27 |
28 | tinyMCEPopup.onInit.add(init);
29 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/xhtmlxtras/js/cite.js:
--------------------------------------------------------------------------------
1 | /**
2 | * cite.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | function init() {
12 | SXE.initElementDialog('cite');
13 | if (SXE.currentAction == "update") {
14 | SXE.showRemoveButton();
15 | }
16 | }
17 |
18 | function insertCite() {
19 | SXE.insertElement('cite');
20 | tinyMCEPopup.close();
21 | }
22 |
23 | function removeCite() {
24 | SXE.removeElement('cite');
25 | tinyMCEPopup.close();
26 | }
27 |
28 | tinyMCEPopup.onInit.add(init);
29 |
--------------------------------------------------------------------------------
/templates/registration/password_reset_email.html:
--------------------------------------------------------------------------------
1 | {% load i18n %}{% autoescape off %}
2 | {% trans "You're receiving this e-mail because you requested a password reset" %}
3 | {% blocktrans %}for your user account at {{ site_name }}{% endblocktrans %}.
4 |
5 | {% trans "Please go to the following page and choose a new password:" %}
6 | {% block reset_link %}
7 | {{ protocol }}://{{ domain }}{% url django.contrib.auth.views.password_reset_confirm uidb36=uid token=token %}
8 | {% endblock %}
9 | {% trans "Your username, in case you've forgotten:" %} {{ user.username }}
10 |
11 | {% trans "Thanks for using our site!" %}
12 |
13 | {% blocktrans %}The {{ site_name }} team{% endblocktrans %}
14 |
15 | {% endautoescape %}
16 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/example/js/dialog.js:
--------------------------------------------------------------------------------
1 | tinyMCEPopup.requireLangPack();
2 |
3 | var ExampleDialog = {
4 | init : function() {
5 | var f = document.forms[0];
6 |
7 | // Get the selected contents as text and place it in the input
8 | f.someval.value = tinyMCEPopup.editor.selection.getContent({format : 'text'});
9 | f.somearg.value = tinyMCEPopup.getWindowArg('some_custom_arg');
10 | },
11 |
12 | insert : function() {
13 | // Insert the contents from the input into the document
14 | tinyMCEPopup.editor.execCommand('mceInsertContent', false, document.forms[0].someval.value);
15 | tinyMCEPopup.close();
16 | }
17 | };
18 |
19 | tinyMCEPopup.onInit.add(ExampleDialog.init, ExampleDialog);
20 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/table/js/merge_cells.js:
--------------------------------------------------------------------------------
1 | tinyMCEPopup.requireLangPack();
2 |
3 | var MergeCellsDialog = {
4 | init : function() {
5 | var f = document.forms[0];
6 |
7 | f.numcols.value = tinyMCEPopup.getWindowArg('cols', 1);
8 | f.numrows.value = tinyMCEPopup.getWindowArg('rows', 1);
9 | },
10 |
11 | merge : function() {
12 | var func, f = document.forms[0];
13 |
14 | tinyMCEPopup.restoreSelection();
15 |
16 | func = tinyMCEPopup.getWindowArg('onaction');
17 |
18 | func({
19 | cols : f.numcols.value,
20 | rows : f.numrows.value
21 | });
22 |
23 | tinyMCEPopup.close();
24 | }
25 | };
26 |
27 | tinyMCEPopup.onInit.add(MergeCellsDialog.init, MergeCellsDialog);
28 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/xhtmlxtras/js/acronym.js:
--------------------------------------------------------------------------------
1 | /**
2 | * acronym.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | function init() {
12 | SXE.initElementDialog('acronym');
13 | if (SXE.currentAction == "update") {
14 | SXE.showRemoveButton();
15 | }
16 | }
17 |
18 | function insertAcronym() {
19 | SXE.insertElement('acronym');
20 | tinyMCEPopup.close();
21 | }
22 |
23 | function removeAcronym() {
24 | SXE.removeElement('acronym');
25 | tinyMCEPopup.close();
26 | }
27 |
28 | tinyMCEPopup.onInit.add(init);
29 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/preview/preview.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 | {#preview.preview_desc}
11 |
12 |
13 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/template/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.template_dlg',{
2 | title:"Templates",
3 | label:"Template",
4 | desc_label:"Description",
5 | desc:"Insert predefined template content",
6 | select:"Select a template",
7 | preview:"Preview",
8 | warning:"Warning: Updating a template with a different one may cause data loss.",
9 | mdate_format:"%Y-%m-%d %H:%M:%S",
10 | cdate_format:"%Y-%m-%d %H:%M:%S",
11 | months_long:"January,February,March,April,May,June,July,August,September,October,November,December",
12 | months_short:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",
13 | day_long:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday",
14 | day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun"
15 | });
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advimage/css/advimage.css:
--------------------------------------------------------------------------------
1 | #src_list, #over_list, #out_list {width:280px;}
2 | .mceActionPanel {margin-top:7px;}
3 | .alignPreview {border:1px solid #000; width:140px; height:140px; overflow:hidden; padding:5px;}
4 | .checkbox {border:0;}
5 | .panel_wrapper div.current {height:305px;}
6 | #prev {margin:0; border:1px solid #000; width:428px; height:150px; overflow:auto;}
7 | #align, #classlist {width:150px;}
8 | #width, #height {vertical-align:middle; width:50px; text-align:center;}
9 | #vspace, #hspace, #border {vertical-align:middle; width:30px; text-align:center;}
10 | #class_list {width:180px;}
11 | input {width: 280px;}
12 | #constrain, #onmousemovecheck {width:auto;}
13 | #id, #dir, #lang, #usemap, #longdesc {width:200px;}
14 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advimage/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.AdvancedImagePlugin",{init:function(a,b){a.addCommand("mceAdvImage",function(){if(a.dom.getAttrib(a.selection.getNode(),"class").indexOf("mceItem")!=-1){return}a.windowManager.open({file:b+"/image.htm",width:480+parseInt(a.getLang("advimage.delta_width",0)),height:385+parseInt(a.getLang("advimage.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("image",{title:"advimage.image_desc",cmd:"mceAdvImage"})},getInfo:function(){return{longname:"Advanced image",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advimage",tinymce.plugins.AdvancedImagePlugin)})();
--------------------------------------------------------------------------------
/bt/feeds.py:
--------------------------------------------------------------------------------
1 | from django.contrib.syndication.views import Feed
2 | from django.utils.feedgenerator import Atom1Feed
3 | from bt.models import Violation
4 |
5 | class RssSiteNewsFeed(Feed):
6 | title = "NNMON - Latest NN Infringements"
7 | link = "/"
8 | description = "Latest submissions on network neutrality infringements across Europe"
9 | description_template = 'feeditem.html'
10 |
11 | def items(self):
12 | return Violation.objects.filter(activationid='').order_by('-id')[:10]
13 |
14 | def item_link(self, item):
15 | return item.get_absolute_url()
16 |
17 | def item_title(self, item):
18 | return "%s (%s) %s" % (item.operator, item.country, item.contract)
19 |
20 | class AtomSiteNewsFeed(RssSiteNewsFeed):
21 | feed_type = Atom1Feed
22 | subtitle = RssSiteNewsFeed.description
23 |
24 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advhr/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.AdvancedHRPlugin",{init:function(a,b){a.addCommand("mceAdvancedHr",function(){a.windowManager.open({file:b+"/rule.htm",width:250+parseInt(a.getLang("advhr.delta_width",0)),height:160+parseInt(a.getLang("advhr.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("advhr",{title:"advhr.advhr_desc",cmd:"mceAdvancedHr"});a.onNodeChange.add(function(d,c,e){c.setActive("advhr",e.nodeName=="HR")});a.onClick.add(function(c,d){d=d.target;if(d.nodeName==="HR"){c.selection.select(d)}})},getInfo:function(){return{longname:"Advanced HR",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advhr",tinymce.plugins.AdvancedHRPlugin)})();
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css:
--------------------------------------------------------------------------------
1 | /* Silver */
2 | .o2k7SkinSilver .mceToolbar .mceToolbarStart span, .o2k7SkinSilver .mceButton, .o2k7SkinSilver .mceSplitButton, .o2k7SkinSilver .mceSeparator, .o2k7SkinSilver .mceSplitButton a.mceOpen, .o2k7SkinSilver .mceListBox a.mceOpen {background-image:url(img/button_bg_silver.png)}
3 | .o2k7SkinSilver table, .o2k7SkinSilver .mceMenuItemTitle a {background:#eee}
4 | .o2k7SkinSilver .mceListBox .mceText {background:#FFF}
5 | .o2k7SkinSilver .mceExternalToolbar, .o2k7SkinSilver .mceListBox .mceText, .o2k7SkinSilver div.mceMenu, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceFirst td, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceLast td, .o2k7SkinSilver .mceIframeContainer {border-color: #bbb}
6 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/example/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.PluginManager.requireLangPack("example");tinymce.create("tinymce.plugins.ExamplePlugin",{init:function(a,b){a.addCommand("mceExample",function(){a.windowManager.open({file:b+"/dialog.htm",width:320+parseInt(a.getLang("example.delta_width",0)),height:120+parseInt(a.getLang("example.delta_height",0)),inline:1},{plugin_url:b,some_custom_arg:"custom arg"})});a.addButton("example",{title:"example.desc",cmd:"mceExample",image:b+"/img/example.gif"});a.onNodeChange.add(function(d,c,e){c.setActive("example",e.nodeName=="IMG")})},createControl:function(b,a){return null},getInfo:function(){return{longname:"Example plugin",author:"Some author",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example",version:"1.0"}}});tinymce.PluginManager.add("example",tinymce.plugins.ExamplePlugin)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/preview/example.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
18 | Example of a custom preview page
19 |
20 |
21 |
22 | Editor contents:
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/paste/pasteword.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 | {#paste.paste_word_desc}
4 |
5 |
6 |
7 |
8 |
9 | {#paste.paste_word_desc}
10 |
11 | {#paste_dlg.word_title}
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/iespell/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.IESpell",{init:function(a,b){var c=this,d;if(!tinymce.isIE){return}c.editor=a;a.addCommand("mceIESpell",function(){try{d=new ActiveXObject("ieSpell.ieSpellExtension");d.CheckDocumentNode(a.getDoc().documentElement)}catch(f){if(f.number==-2146827859){a.windowManager.confirm(a.getLang("iespell.download"),function(e){if(e){window.open("http://www.iespell.com/download.php","ieSpellDownload","")}})}else{a.windowManager.alert("Error Loading ieSpell: Exception "+f.number)}}});a.addButton("iespell",{title:"iespell.iespell_desc",cmd:"mceIESpell"})},getInfo:function(){return{longname:"IESpell (IE Only)",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("iespell",tinymce.plugins.IESpell)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/style/css/props.css:
--------------------------------------------------------------------------------
1 | #text_font {width:250px;}
2 | #text_size {width:70px;}
3 | .mceAddSelectValue {background:#DDD;}
4 | select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {width:70px;}
5 | #box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {width:70px;}
6 | #positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {width:70px;}
7 | #positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {width:70px;}
8 | .panel_wrapper div.current {padding-top:10px;height:230px;}
9 | .delim {border-left:1px solid gray;}
10 | .tdelim {border-bottom:1px solid gray;}
11 | #block_display {width:145px;}
12 | #list_type {width:115px;}
13 | .disabled {background:#EEE;}
14 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/style/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.StylePlugin",{init:function(a,b){a.addCommand("mceStyleProps",function(){a.windowManager.open({file:b+"/props.htm",width:480+parseInt(a.getLang("style.delta_width",0)),height:320+parseInt(a.getLang("style.delta_height",0)),inline:1},{plugin_url:b,style_text:a.selection.getNode().style.cssText})});a.addCommand("mceSetElementStyle",function(d,c){if(e=a.selection.getNode()){a.dom.setAttrib(e,"style",c);a.execCommand("mceRepaint")}});a.onNodeChange.add(function(d,c,f){c.setDisabled("styleprops",f.nodeName==="BODY")});a.addButton("styleprops",{title:"style.desc",cmd:"mceStyleProps"})},getInfo:function(){return{longname:"Style",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("style",tinymce.plugins.StylePlugin)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/nonbreaking/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.Nonbreaking",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceNonBreaking",function(){a.execCommand("mceInsertContent",false,(a.plugins.visualchars&&a.plugins.visualchars.state)?' ':" ")});a.addButton("nonbreaking",{title:"nonbreaking.nonbreaking_desc",cmd:"mceNonBreaking"});if(a.getParam("nonbreaking_force_tab")){a.onKeyDown.add(function(d,f){if(tinymce.isIE&&f.keyCode==9){d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");tinymce.dom.Event.cancel(f)}})}},getInfo:function(){return{longname:"Nonbreaking space",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("nonbreaking",tinymce.plugins.Nonbreaking)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advlink/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.AdvancedLinkPlugin",{init:function(a,b){this.editor=a;a.addCommand("mceAdvLink",function(){var c=a.selection;if(c.isCollapsed()&&!a.dom.getParent(c.getNode(),"A")){return}a.windowManager.open({file:b+"/link.htm",width:480+parseInt(a.getLang("advlink.delta_width",0)),height:400+parseInt(a.getLang("advlink.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("link",{title:"advlink.link_desc",cmd:"mceAdvLink"});a.addShortcut("ctrl+k","advlink.advlink_desc","mceAdvLink");a.onNodeChange.add(function(d,c,f,e){c.setDisabled("link",e&&f.nodeName!="A");c.setActive("link",f.nodeName=="A"&&!f.name)})},getInfo:function(){return{longname:"Advanced link",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlink",tinymce.plugins.AdvancedLinkPlugin)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/example/dialog.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {#example_dlg.title}
5 |
6 |
7 |
8 |
9 |
10 |
11 | Here is a example dialog.
12 | Selected text:
13 | Custom arg:
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/media/css/map.css:
--------------------------------------------------------------------------------
1 | #map {
2 | border: 2px solid #745C1B;
3 | background: #fff url(../img/noise.png);
4 | border-radius: 5px;
5 | margin: 1em;
6 | width: 300px;
7 | height: 280px;
8 | }
9 |
10 | svg path { stroke-linejoin: round }
11 |
12 | svg .sea {
13 | fill: #fff;
14 | stroke-width: .25px;
15 | }
16 |
17 | svg .graticule {
18 | fill: none;
19 | stroke-width: .2px;
20 | }
21 | svg .bg, svg .bgback {
22 | stroke: none;
23 | fill: #fff;
24 | fill-opacity: 1;
25 | }
26 | svg .bgstroke {
27 | stroke: #7C5B27;
28 | stroke-width:.7px;
29 | fill:none;
30 | }
31 | svg .context {
32 | stroke: #D1BEB0;
33 | stroke-opacity: .3;
34 | fill: #D1BEB0;
35 | fill-opacity: .23;
36 | }
37 | svg .fg {
38 | stroke: #cbb;
39 | stroke-opacity: 1;
40 | stroke-dasharray: 3,5;
41 | fill-opacity: .5;
42 | }
43 | svg .fg:hover {
44 | fill: #ada;
45 | fill-opacity: .37;
46 | }
47 |
48 | .k-layer-toggle h2 {
49 | margin: 20px 0 10px;
50 | font-size: 20px;
51 | }
52 | .k-layer-toggle label {
53 | margin-left: 3px;
54 | }
55 |
56 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/searchreplace/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.SearchReplacePlugin",{init:function(a,c){function b(d){a.windowManager.open({file:c+"/searchreplace.htm",width:420+parseInt(a.getLang("searchreplace.delta_width",0)),height:170+parseInt(a.getLang("searchreplace.delta_height",0)),inline:1,auto_focus:0},{mode:d,search_string:a.selection.getContent({format:"text"}),plugin_url:c})}a.addCommand("mceSearch",function(){b("search")});a.addCommand("mceReplace",function(){b("replace")});a.addButton("search",{title:"searchreplace.search_desc",cmd:"mceSearch"});a.addButton("replace",{title:"searchreplace.replace_desc",cmd:"mceReplace"});a.addShortcut("ctrl+f","searchreplace.search_desc","mceSearch")},getInfo:function(){return{longname:"Search/Replace",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("searchreplace",tinymce.plugins.SearchReplacePlugin)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/preview/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.Preview",{init:function(a,b){var d=this,c=tinymce.explode(a.settings.content_css);d.editor=a;tinymce.each(c,function(f,e){c[e]=a.documentBaseURI.toAbsolute(f)});a.addCommand("mcePreview",function(){a.windowManager.open({file:a.getParam("plugin_preview_pageurl",b+"/preview.html"),width:parseInt(a.getParam("plugin_preview_width","550")),height:parseInt(a.getParam("plugin_preview_height","600")),resizable:"yes",scrollbars:"yes",popup_css:c?c.join(","):a.baseURI.toAbsolute("themes/"+a.settings.theme+"/skins/"+a.settings.skin+"/content.css"),inline:a.getParam("plugin_preview_inline",1)},{base:a.documentBaseURI.getURI()})});a.addButton("preview",{title:"preview.preview_desc",cmd:"mcePreview"})},getInfo:function(){return{longname:"Preview",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("preview",tinymce.plugins.Preview)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/print/editor_plugin_src.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editor_plugin_src.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | (function() {
12 | tinymce.create('tinymce.plugins.Print', {
13 | init : function(ed, url) {
14 | ed.addCommand('mcePrint', function() {
15 | ed.getWin().print();
16 | });
17 |
18 | ed.addButton('print', {title : 'print.print_desc', cmd : 'mcePrint'});
19 | },
20 |
21 | getInfo : function() {
22 | return {
23 | longname : 'Print',
24 | author : 'Moxiecode Systems AB',
25 | authorurl : 'http://tinymce.moxiecode.com',
26 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',
27 | version : tinymce.majorVersion + "." + tinymce.minorVersion
28 | };
29 | }
30 | });
31 |
32 | // Register plugin
33 | tinymce.PluginManager.add('print', tinymce.plugins.Print);
34 | })();
35 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/paste/js/pastetext.js:
--------------------------------------------------------------------------------
1 | tinyMCEPopup.requireLangPack();
2 |
3 | var PasteTextDialog = {
4 | init : function() {
5 | this.resize();
6 | },
7 |
8 | insert : function() {
9 | var h = tinyMCEPopup.dom.encode(document.getElementById('content').value), lines;
10 |
11 | // Convert linebreaks into paragraphs
12 | if (document.getElementById('linebreaks').checked) {
13 | lines = h.split(/\r?\n/);
14 | if (lines.length > 1) {
15 | h = '';
16 | tinymce.each(lines, function(row) {
17 | h += '' + row + '
';
18 | });
19 | }
20 | }
21 |
22 | tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h});
23 | tinyMCEPopup.close();
24 | },
25 |
26 | resize : function() {
27 | var vp = tinyMCEPopup.dom.getViewPort(window), el;
28 |
29 | el = document.getElementById('content');
30 |
31 | el.style.width = (vp.w - 20) + 'px';
32 | el.style.height = (vp.h - 90) + 'px';
33 | }
34 | };
35 |
36 | tinyMCEPopup.onInit.add(PasteTextDialog.init, PasteTextDialog);
37 |
--------------------------------------------------------------------------------
/bt/templatetags/bt.py:
--------------------------------------------------------------------------------
1 | from django.template import Library, Variable
2 | from django.conf import settings
3 | from django import template
4 | import random
5 | from nnmon.bt.models import COUNTRIES, STATUS, TYPES, MEDIA
6 |
7 | register = Library()
8 |
9 | @register.simple_tag
10 | def root_url():
11 | return settings.ROOT_URL
12 |
13 | @register.simple_tag
14 | def media_url():
15 | return settings.MEDIA_URL
16 |
17 | country_map=dict(COUNTRIES)
18 | @register.filter(name='country')
19 | def country(code):
20 | return country_map[code]
21 |
22 | status_map=dict(STATUS)
23 | @register.filter(name='status')
24 | def status(code):
25 | try:
26 | return status_map[code]
27 | except:
28 | return code
29 |
30 | type_map=dict(TYPES)
31 | @register.filter(name='type')
32 | def type(code):
33 | try:
34 | return type_map[code]
35 | except:
36 | return code
37 |
38 | media_map=dict(MEDIA)
39 | @register.filter(name='media')
40 | def media(code):
41 | try:
42 | return media_map[code]
43 | except:
44 | return code
45 |
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/js/anchor.js:
--------------------------------------------------------------------------------
1 | tinyMCEPopup.requireLangPack();
2 |
3 | var AnchorDialog = {
4 | init : function(ed) {
5 | var action, elm, f = document.forms[0];
6 |
7 | this.editor = ed;
8 | elm = ed.dom.getParent(ed.selection.getNode(), 'A');
9 | v = ed.dom.getAttrib(elm, 'name');
10 |
11 | if (v) {
12 | this.action = 'update';
13 | f.anchorName.value = v;
14 | }
15 |
16 | f.insert.value = ed.getLang(elm ? 'update' : 'insert');
17 | },
18 |
19 | update : function() {
20 | var ed = this.editor, elm, name = document.forms[0].anchorName.value;
21 |
22 | tinyMCEPopup.restoreSelection();
23 |
24 | if (this.action != 'update')
25 | ed.selection.collapse(1);
26 |
27 | elm = ed.dom.getParent(ed.selection.getNode(), 'A');
28 | if (elm)
29 | elm.name = name;
30 | else
31 | ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : name, 'class' : 'mceItemAnchor'}, ''));
32 |
33 | tinyMCEPopup.close();
34 | }
35 | };
36 |
37 | tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog);
38 |
--------------------------------------------------------------------------------
/templates/registration/password_reset_confirm.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load i18n %}
3 |
4 | {% block title %}{% trans 'Password reset' %}{% endblock %}
5 |
6 | {% block content %}
7 |
8 | {% if validlink %}
9 |
10 | {% trans 'Enter new password' %}
11 |
12 | {% trans "Please enter your new password twice so we can verify you typed it in correctly." %}
13 |
14 | {% csrf_token %}
15 | {{ form.new_password1.errors }}
16 | {% trans 'New password:' %} {{ form.new_password1 }}
17 | {{ form.new_password2.errors }}
18 | {% trans 'Confirm password:' %} {{ form.new_password2 }}
19 |
20 |
21 |
22 | {% else %}
23 |
24 | {% trans 'Password reset unsuccessful' %}
25 |
26 | {% trans "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." %}
27 |
28 | {% endif %}
29 |
30 | {% endblock %}
31 |
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/anchor.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {#advanced_dlg.anchor_title}
5 |
6 |
7 |
8 |
9 |
10 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | from setuptools import setup, find_packages
3 | import sys, os
4 | from babel.messages import frontend as babel
5 | version = '0.00000000000001'
6 |
7 | setup(name='nnmon',
8 | version=version,
9 | description="A network neutrality bugtracker",
10 | long_description="""reporting platform for the nnmon project""",
11 | classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers
12 | keywords='network-neutrality reporting form',
13 | author='Stefan Marsirske',
14 | author_email='stefan.marsiske@gmail.com',
15 | url='http://nnmon.lqdn.fr',
16 | license='AGPLv3',
17 | packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
18 | include_package_data=True,
19 | zip_safe=False,
20 | install_requires=[
21 | # -*- Extra requirements: -*-
22 | ],
23 | entry_points="""
24 | # -*- Entry points: -*-
25 | """,
26 | cmdclass = {'compile_catalog': babel.compile_catalog,
27 | 'extract_messages': babel.extract_messages,
28 | 'init_catalog': babel.init_catalog,
29 | 'update_catalog': babel.update_catalog},
30 | )
31 |
--------------------------------------------------------------------------------
/media/js/editor.js:
--------------------------------------------------------------------------------
1 | tinyMCE.init({
2 | mode : "textareas",
3 | width : "180",
4 | height : "600",
5 | theme : "advanced",
6 | theme_advanced_toolbar_align : "left",
7 | theme_advanced_toolbar_location : "top",
8 | theme_advanced_buttons1 : "bold,italic,underline,bullist,numlist,outdent,indent,blockquote,undo,",
9 | theme_advanced_buttons2 : "",
10 | theme_advanced_buttons3 : "",
11 | plugins : "paste",
12 | paste_auto_cleanup_on_paste : true,
13 | paste_strip_class_attributes: 'all',
14 | paste_remove_styles: true,
15 | valid_elements : "@[id|title|dird.autoresize_min_height){i=f}g.setStyle(g.get(a.id+"_ifr"),"height",i+"px");if(d.throbbing){a.setProgressState(false);a.setProgressState(true)}}d.editor=a;d.autoresize_min_height=a.getElement().offsetHeight;a.onChange.add(b);a.onSetContent.add(b);a.onPaste.add(b);a.onKeyUp.add(b);a.onPostRender.add(b);if(a.getParam("autoresize_on_init",true)){a.onInit.add(function(f,e){f.setProgressState(true);d.throbbing=true;f.getBody().style.overflowY="hidden"});a.onLoadContent.add(function(f,e){b();setTimeout(function(){b();f.setProgressState(false);d.throbbing=false},1250)})}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"Auto Resize",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autoresize",tinymce.plugins.AutoResizePlugin)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/xhtmlxtras/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.xhtmlxtras_dlg',{
2 | attribute_label_title:"Title",
3 | attribute_label_id:"ID",
4 | attribute_label_class:"Class",
5 | attribute_label_style:"Style",
6 | attribute_label_cite:"Cite",
7 | attribute_label_datetime:"Date/Time",
8 | attribute_label_langdir:"Text Direction",
9 | attribute_option_ltr:"Left to right",
10 | attribute_option_rtl:"Right to left",
11 | attribute_label_langcode:"Language",
12 | attribute_label_tabindex:"TabIndex",
13 | attribute_label_accesskey:"AccessKey",
14 | attribute_events_tab:"Events",
15 | attribute_attrib_tab:"Attributes",
16 | general_tab:"General",
17 | attrib_tab:"Attributes",
18 | events_tab:"Events",
19 | fieldset_general_tab:"General Settings",
20 | fieldset_attrib_tab:"Element Attributes",
21 | fieldset_events_tab:"Element Events",
22 | title_ins_element:"Insertion Element",
23 | title_del_element:"Deletion Element",
24 | title_acronym_element:"Acronym Element",
25 | title_abbr_element:"Abbreviation Element",
26 | title_cite_element:"Citation Element",
27 | remove:"Remove",
28 | insert_date:"Insert current date/time",
29 | option_ltr:"Left to right",
30 | option_rtl:"Right to left",
31 | attribs_title:"Insert/Edit Attributes"
32 | });
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/source_editor.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 | {#advanced_dlg.code_title}
4 |
5 |
6 |
7 |
8 |
9 | {#advanced_dlg.code_title}
10 |
11 |
12 | {#advanced_dlg.code_wordwrap}
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/paste/pastetext.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 | {#paste.paste_text_desc}
4 |
5 |
6 |
7 |
8 |
9 | {#paste.paste_text_desc}
10 |
11 |
12 | {#paste_dlg.text_linebreaks}
13 |
14 |
15 |
16 |
17 | {#paste_dlg.text_title}
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/directionality/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.Directionality",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceDirectionLTR",function(){var d=a.dom.getParent(a.selection.getNode(),a.dom.isBlock);if(d){if(a.dom.getAttrib(d,"dir")!="ltr"){a.dom.setAttrib(d,"dir","ltr")}else{a.dom.setAttrib(d,"dir","")}}a.nodeChanged()});a.addCommand("mceDirectionRTL",function(){var d=a.dom.getParent(a.selection.getNode(),a.dom.isBlock);if(d){if(a.dom.getAttrib(d,"dir")!="rtl"){a.dom.setAttrib(d,"dir","rtl")}else{a.dom.setAttrib(d,"dir","")}}a.nodeChanged()});a.addButton("ltr",{title:"directionality.ltr_desc",cmd:"mceDirectionLTR"});a.addButton("rtl",{title:"directionality.rtl_desc",cmd:"mceDirectionRTL"});a.onNodeChange.add(c._nodeChange,c)},getInfo:function(){return{longname:"Directionality",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,e){var d=b.dom,c;e=d.getParent(e,d.isBlock);if(!e){a.setDisabled("ltr",1);a.setDisabled("rtl",1);return}c=d.getAttrib(e,"dir");a.setActive("ltr",c=="ltr");a.setDisabled("ltr",0);a.setActive("rtl",c=="rtl");a.setDisabled("rtl",0)}});tinymce.PluginManager.add("directionality",tinymce.plugins.Directionality)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/media/css/media.css:
--------------------------------------------------------------------------------
1 | #id, #name, #hspace, #vspace, #class_name, #align { width: 100px }
2 | #hspace, #vspace { width: 50px }
3 | #flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode { width: 100px }
4 | #flash_base, #flash_flashvars { width: 240px }
5 | #width, #height { width: 40px }
6 | #src, #media_type { width: 250px }
7 | #class { width: 120px }
8 | #prev { margin: 0; border: 1px solid black; width: 380px; height: 230px; overflow: auto }
9 | .panel_wrapper div.current { height: 390px; overflow: auto }
10 | #flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options { display: none }
11 | .mceAddSelectValue { background-color: #DDDDDD }
12 | #qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume { width: 70px }
13 | #wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume { width: 70px }
14 | #rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks { width: 70px }
15 | #shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle { width: 90px }
16 | #qt_qtsrc { width: 200px }
17 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/noneditable/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){var a=tinymce.dom.Event;tinymce.create("tinymce.plugins.NonEditablePlugin",{init:function(d,e){var f=this,c,b;f.editor=d;c=d.getParam("noneditable_editable_class","mceEditable");b=d.getParam("noneditable_noneditable_class","mceNonEditable");d.onNodeChange.addToTop(function(h,g,k){var j,i;j=h.dom.getParent(h.selection.getStart(),function(l){return h.dom.hasClass(l,b)});i=h.dom.getParent(h.selection.getEnd(),function(l){return h.dom.hasClass(l,b)});if(j||i){f._setDisabled(1);return false}else{f._setDisabled(0)}})},getInfo:function(){return{longname:"Non editable elements",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_block:function(c,d){var b=d.keyCode;if((b>32&&b<41)||(b>111&&b<124)){return}return a.cancel(d)},_setDisabled:function(d){var c=this,b=c.editor;tinymce.each(b.controlManager.controls,function(e){e.setDisabled(d)});if(d!==c.disabled){if(d){b.onKeyDown.addToTop(c._block);b.onKeyPress.addToTop(c._block);b.onKeyUp.addToTop(c._block);b.onPaste.addToTop(c._block)}else{b.onKeyDown.remove(c._block);b.onKeyPress.remove(c._block);b.onKeyUp.remove(c._block);b.onPaste.remove(c._block)}c.disabled=d}}});tinymce.PluginManager.add("noneditable",tinymce.plugins.NonEditablePlugin)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/visualchars/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.VisualChars",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceVisualChars",c._toggleVisualChars,c);a.addButton("visualchars",{title:"visualchars.desc",cmd:"mceVisualChars"});a.onBeforeGetContent.add(function(d,e){if(c.state&&e.format!="raw"&&!e.draft){c.state=true;c._toggleVisualChars(false)}})},getInfo:function(){return{longname:"Visual characters",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_toggleVisualChars:function(m){var p=this,k=p.editor,a,g,j,n=k.getDoc(),o=k.getBody(),l,q=k.selection,e,c,f;p.state=!p.state;k.controlManager.setActive("visualchars",p.state);if(m){f=q.getBookmark()}if(p.state){a=[];tinymce.walk(o,function(b){if(b.nodeType==3&&b.nodeValue&&b.nodeValue.indexOf("\u00a0")!=-1){a.push(b)}},"childNodes");for(g=0;g$1');c=k.dom.create("div",null,l);while(node=c.lastChild){k.dom.insertAfter(node,a[g])}k.dom.remove(a[g])}}else{a=k.dom.select("span.mceItemNbsp",o);for(g=a.length-1;g>=0;g--){k.dom.remove(a[g],1)}}q.moveToBookmark(f)}});tinymce.PluginManager.add("visualchars",tinymce.plugins.VisualChars)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/tabfocus/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.explode;tinymce.create("tinymce.plugins.TabFocusPlugin",{init:function(f,g){function e(i,j){if(j.keyCode===9){return a.cancel(j)}}function h(l,p){var j,m,o,n,k;function q(i){o=c.getParent(l.id,"form");n=o.elements;if(o){d(n,function(s,r){if(s.id==l.id){j=r;return false}});if(i>0){for(m=j+1;m=0;m--){if(n[m].type!="hidden"){return n[m]}}}}return null}if(p.keyCode===9){k=b(l.getParam("tab_focus",l.getParam("tabfocus_elements",":prev,:next")));if(k.length==1){k[1]=k[0];k[0]=":prev"}if(p.shiftKey){if(k[0]==":prev"){n=q(-1)}else{n=c.get(k[0])}}else{if(k[1]==":next"){n=q(1)}else{n=c.get(k[1])}}if(n){if(l=tinymce.get(n.id||n.name)){l.focus()}else{window.setTimeout(function(){window.focus();n.focus()},10)}return a.cancel(p)}}}f.onKeyUp.add(e);if(tinymce.isGecko){f.onKeyPress.add(h);f.onKeyDown.add(e)}else{f.onKeyDown.add(h)}f.onInit.add(function(){d(c.select("a:first,a:last",f.getContainer()),function(i){a.add(i,"focus",function(){f.focus()})})})},getInfo:function(){return{longname:"Tabfocus",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("tabfocus",tinymce.plugins.TabFocusPlugin)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/emotions/editor_plugin_src.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editor_plugin_src.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | (function(tinymce) {
12 | tinymce.create('tinymce.plugins.EmotionsPlugin', {
13 | init : function(ed, url) {
14 | // Register commands
15 | ed.addCommand('mceEmotion', function() {
16 | ed.windowManager.open({
17 | file : url + '/emotions.htm',
18 | width : 250 + parseInt(ed.getLang('emotions.delta_width', 0)),
19 | height : 160 + parseInt(ed.getLang('emotions.delta_height', 0)),
20 | inline : 1
21 | }, {
22 | plugin_url : url
23 | });
24 | });
25 |
26 | // Register buttons
27 | ed.addButton('emotions', {title : 'emotions.emotions_desc', cmd : 'mceEmotion'});
28 | },
29 |
30 | getInfo : function() {
31 | return {
32 | longname : 'Emotions',
33 | author : 'Moxiecode Systems AB',
34 | authorurl : 'http://tinymce.moxiecode.com',
35 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',
36 | version : tinymce.majorVersion + "." + tinymce.minorVersion
37 | };
38 | }
39 | });
40 |
41 | // Register plugin
42 | tinymce.PluginManager.add('emotions', tinymce.plugins.EmotionsPlugin);
43 | })(tinymce);
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/pagebreak/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.PageBreakPlugin",{init:function(b,d){var f=' ',a="mcePageBreak",c=b.getParam("pagebreak_separator",""),e;e=new RegExp(c.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(g){return"\\"+g}),"g");b.addCommand("mcePageBreak",function(){b.execCommand("mceInsertContent",0,f)});b.addButton("pagebreak",{title:"pagebreak.desc",cmd:a});b.onInit.add(function(){if(b.settings.content_css!==false){b.dom.loadCSS(d+"/css/content.css")}if(b.theme.onResolveName){b.theme.onResolveName.add(function(g,h){if(h.node.nodeName=="IMG"&&b.dom.hasClass(h.node,a)){h.name="pagebreak"}})}});b.onClick.add(function(g,h){h=h.target;if(h.nodeName==="IMG"&&g.dom.hasClass(h,a)){g.selection.select(h)}});b.onNodeChange.add(function(h,g,i){g.setActive("pagebreak",i.nodeName==="IMG"&&h.dom.hasClass(i,a))});b.onBeforeSetContent.add(function(g,h){h.content=h.content.replace(e,f)});b.onPostProcess.add(function(g,h){if(h.get){h.content=h.content.replace(/ ]+>/g,function(i){if(i.indexOf('class="mcePageBreak')!==-1){i=c}return i})}})},getInfo:function(){return{longname:"PageBreak",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("pagebreak",tinymce.plugins.PageBreakPlugin)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advimage/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.advimage_dlg',{
2 | tab_general:"General",
3 | tab_appearance:"Appearance",
4 | tab_advanced:"Advanced",
5 | general:"General",
6 | title:"Title",
7 | preview:"Preview",
8 | constrain_proportions:"Constrain proportions",
9 | langdir:"Language direction",
10 | langcode:"Language code",
11 | long_desc:"Long description link",
12 | style:"Style",
13 | classes:"Classes",
14 | ltr:"Left to right",
15 | rtl:"Right to left",
16 | id:"Id",
17 | map:"Image map",
18 | swap_image:"Swap image",
19 | alt_image:"Alternative image",
20 | mouseover:"for mouse over",
21 | mouseout:"for mouse out",
22 | misc:"Miscellaneous",
23 | example_img:"Appearance preview image",
24 | missing_alt:"Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.",
25 | dialog_title:"Insert/edit image",
26 | src:"Image URL",
27 | alt:"Image description",
28 | list:"Image list",
29 | border:"Border",
30 | dimensions:"Dimensions",
31 | vspace:"Vertical space",
32 | hspace:"Horizontal space",
33 | align:"Alignment",
34 | align_baseline:"Baseline",
35 | align_top:"Top",
36 | align_middle:"Middle",
37 | align_bottom:"Bottom",
38 | align_texttop:"Text top",
39 | align_textbottom:"Text bottom",
40 | align_left:"Left",
41 | align_right:"Right",
42 | image_list:"Image list"
43 | });
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/table/merge_cells.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {#table_dlg.merge_cells_title}
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | {#table_dlg.merge_cells_title}
14 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/bt/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 | from bt import models
3 |
4 | class CommentInline(admin.TabularInline):
5 | model = models.Comment
6 | max_num = 1
7 |
8 | class ViolationAdmin(admin.ModelAdmin):
9 | list_display = ('state', 'country', 'operator', 'contract', 'resource_name', 'media', 'activationid')
10 | list_filter = ('state', 'operator_ref', 'contract', 'resource_name', 'media', 'country')
11 | inlines = [CommentInline, ]
12 | admin.site.register(models.Violation, ViolationAdmin)
13 |
14 | class CommentAdmin(admin.ModelAdmin):
15 | list_display = ('violation', 'submitter_name', 'comment')
16 | list_filter = ('violation', 'submitter_name')
17 | admin.site.register(models.Comment, CommentAdmin)
18 |
19 | class AttachmentAdmin(admin.ModelAdmin):
20 | list_display = ('name', 'comment')
21 | admin.site.register(models.Attachment, AttachmentAdmin)
22 |
23 | class ConfirmationAdmin(admin.ModelAdmin):
24 | list_display = ('violation', 'key')
25 | list_filter = ('violation__operator_ref', 'violation__contract', 'violation__resource_name', 'violation__media', 'violation__country')
26 | admin.site.register(models.Confirmation, ConfirmationAdmin)
27 |
28 | class FeaturedCaseAdmin(admin.ModelAdmin):
29 | pass
30 | admin.site.register(models.FeaturedCase, FeaturedCaseAdmin)
31 |
32 | class OperatorAdmin(admin.ModelAdmin):
33 | list_display = ("__unicode__", "reported_violations")
34 | search_fields = ('name', )
35 | pass
36 | admin.site.register(models.Operator, OperatorAdmin)
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advhr/js/rule.js:
--------------------------------------------------------------------------------
1 | var AdvHRDialog = {
2 | init : function(ed) {
3 | var dom = ed.dom, f = document.forms[0], n = ed.selection.getNode(), w;
4 |
5 | w = dom.getAttrib(n, 'width');
6 | f.width.value = w ? parseInt(w) : (dom.getStyle('width') || '');
7 | f.size.value = dom.getAttrib(n, 'size') || parseInt(dom.getStyle('height')) || '';
8 | f.noshade.checked = !!dom.getAttrib(n, 'noshade') || !!dom.getStyle('border-width');
9 | selectByValue(f, 'width2', w.indexOf('%') != -1 ? '%' : 'px');
10 | },
11 |
12 | update : function() {
13 | var ed = tinyMCEPopup.editor, h, f = document.forms[0], st = '';
14 |
15 | h = ' ';
36 |
37 | ed.execCommand("mceInsertContent", false, h);
38 | tinyMCEPopup.close();
39 | }
40 | };
41 |
42 | tinyMCEPopup.requireLangPack();
43 | tinyMCEPopup.onInit.add(AdvHRDialog.init, AdvHRDialog);
44 |
--------------------------------------------------------------------------------
/templates/feeditem.html:
--------------------------------------------------------------------------------
1 | {% load bt %}
2 | {% load i18n %}
3 | {%if obj.comment_set.all.0%}
4 | {%trans "Description" %}
5 |
6 |
{{obj.comment_set.all.0.comment|safe}}
7 |
Submitter: {%if obj.comment_set.all.0.submitter_name%}{{obj.comment_set.all.0.submitter_name}}{%else%}{{obj.comment_set.all.0.submitter_email}}{%endif%} -
8 | {%if obj.comment_set.all.0.attachment_set.all%}
9 |
10 | {% trans "Attachments" %}
11 |
12 | {%for a in obj.comment_set.all.0.attachment_set.all%}
13 | {{a.storage.name}}
14 | {%endfor%}
15 |
16 |
17 | {%endif%}
18 |
19 | {%endif%}
20 |
21 | {%if obj.media%}{% trans "Media" %}: {{obj.media}} {%endif%}
22 | {%if obj.resource_name%}{% trans "Affected Resource/service" %}: {{obj.resource_name}} {%endif%}
23 | {%if obj.type%}{% trans "Type" %}: {{obj.type}} {%endif%}
24 | {%if obj.temporary%}{% trans "Temporary restriction" %}: {% trans "yes" %} {%endif%}
25 | {%if obj.loophole%}{% trans "Loophole offering" %}: {% trans yes %}} {%endif%}
26 | {%if obj.contractual%}{% trans "Contractual restriction" %}: {% trans "yes" %} {%endif%}
27 |
28 | {%if obj.contract_excerpt%}{% trans "Contract excerpt" %}: {{obj.contract_excerpt|safe}}{%endif%}
29 |
--------------------------------------------------------------------------------
/bt/api.py:
--------------------------------------------------------------------------------
1 | #from django.contrib.auth.models import User
2 | from tastypie import fields
3 | from tastypie.authorization import DjangoAuthorization
4 | from tastypie.resources import ModelResource, ALL, ALL_WITH_RELATIONS
5 | from bt.models import Violation, Operator
6 |
7 |
8 | #class UserResource(ModelResource):
9 | # class Meta:
10 | # queryset = User.objects.all()
11 | # resource_name = 'auth/user'
12 | # excludes = ['email', 'password', 'is_superuser']
13 |
14 | class OperatorResource(ModelResource):
15 |
16 | class Meta:
17 | queryset = Operator.objects.all()
18 | list_allowed_methods = ['get', 'post']
19 | detail_allowed_methods = ['get', 'post', 'put', 'delete']
20 | resource_name = 'operators'
21 | authorization = DjangoAuthorization()
22 | filtering = {
23 | 'name': ALL,
24 | 'activationid': '',
25 | }
26 |
27 |
28 | class APIResource(ModelResource):
29 | operator = fields.ForeignKey(OperatorResource, 'operator_ref')
30 | # user = fields.ForeignKey(UserResource, 'user')
31 |
32 | class Meta:
33 | queryset = Violation.objects.all()
34 | list_allowed_methods = ['get', 'post']
35 | detail_allowed_methods = ['get', 'post', 'put', 'delete']
36 | resource_name = 'violations'
37 | authorization = DjangoAuthorization()
38 | filtering = {
39 | 'country': ALL,
40 | 'contract': ALL,
41 | 'operator_ref': ALL_WITH_RELATIONS,
42 | 'activationid': '',
43 | }
44 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/save/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.Save",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceSave",c._save,c);a.addCommand("mceCancel",c._cancel,c);a.addButton("save",{title:"save.save_desc",cmd:"mceSave"});a.addButton("cancel",{title:"save.cancel_desc",cmd:"mceCancel"});a.onNodeChange.add(c._nodeChange,c);a.addShortcut("ctrl+s",a.getLang("save.save_desc"),"mceSave")},getInfo:function(){return{longname:"Save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,c){var b=this.editor;if(b.getParam("save_enablewhendirty")){a.setDisabled("save",!b.isDirty());a.setDisabled("cancel",!b.isDirty())}},_save:function(){var c=this.editor,a,e,d,b;a=tinymce.DOM.get(c.id).form||tinymce.DOM.getParent(c.id,"form");if(c.getParam("save_enablewhendirty")&&!c.isDirty()){return}tinyMCE.triggerSave();if(e=c.getParam("save_onsavecallback")){if(c.execCallback("save_onsavecallback",c)){c.startContent=tinymce.trim(c.getContent({format:"raw"}));c.nodeChanged()}return}if(a){c.isNotDirty=true;if(a.onsubmit==null||a.onsubmit()!=false){a.submit()}c.nodeChanged()}else{c.windowManager.alert("Error: No form element found.")}},_cancel:function(){var a=this.editor,c,b=tinymce.trim(a.startContent);if(c=a.getParam("save_oncancelcallback")){a.execCallback("save_oncancelcallback",a);return}a.setContent(b);a.undoManager.clear();a.nodeChanged()}});tinymce.PluginManager.add("save",tinymce.plugins.Save)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/template/template.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 | {#template_dlg.title}
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
{#template_dlg.desc}
12 |
{#template_dlg.label}:
13 |
14 | {#template_dlg.select}...
15 |
16 |
17 |
{#template_dlg.desc_label}:
18 |
19 |
20 | {#template_dlg.preview}
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/templates/registration/password_change_form.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load i18n %}
3 |
4 | {% block title %}{% trans 'Password change' %}{% endblock %}
5 |
6 | {% block content %}
7 |
8 | {% csrf_token %}
9 |
10 | {% if form.errors %}
11 |
12 | {% blocktrans count form.errors.items|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
13 |
14 | {% endif %}
15 |
16 |
{% trans "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." %}
17 |
18 |
19 |
20 |
21 | {{ form.old_password.errors }}
22 | {% trans 'Old password' %}: {{ form.old_password }}
23 |
24 |
25 |
26 | {{ form.new_password1.errors }}
27 | {% trans 'New password' %}: {{ form.new_password1 }}
28 |
29 |
30 |
31 | {{ form.new_password2.errors }}
32 | {% trans 'Password (again)' %}: {{ form.new_password2 }}
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | {% endblock %}
46 |
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/skins/default/content.css:
--------------------------------------------------------------------------------
1 | body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;}
2 | body {background:#FFF;}
3 | body.mceForceColors {background:#FFF; color:#000;}
4 | h1 {font-size: 2em}
5 | h2 {font-size: 1.5em}
6 | h3 {font-size: 1.17em}
7 | h4 {font-size: 1em}
8 | h5 {font-size: .83em}
9 | h6 {font-size: .75em}
10 | .mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;}
11 | a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(img/items.gif) no-repeat 0 0;}
12 | span.mceItemNbsp {background: #DDD}
13 | td.mceSelected, th.mceSelected {background-color:#3399ff !important}
14 | img {border:0;}
15 | table {cursor:default}
16 | table td, table th {cursor:text}
17 | ins {border-bottom:1px solid green; text-decoration: none; color:green}
18 | del {color:red; text-decoration:line-through}
19 | cite {border-bottom:1px dashed blue}
20 | acronym {border-bottom:1px dotted #CCC; cursor:help}
21 | abbr {border-bottom:1px dashed #CCC; cursor:help}
22 |
23 | /* IE */
24 | * html body {
25 | scrollbar-3dlight-color:#F0F0EE;
26 | scrollbar-arrow-color:#676662;
27 | scrollbar-base-color:#F0F0EE;
28 | scrollbar-darkshadow-color:#DDD;
29 | scrollbar-face-color:#E0E0DD;
30 | scrollbar-highlight-color:#F0F0EE;
31 | scrollbar-shadow-color:#F0F0EE;
32 | scrollbar-track-color:#F5F5F5;
33 | }
34 |
35 | img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px}
36 | font[face=mceinline] {font-family:inherit !important}
37 |
--------------------------------------------------------------------------------
/media/js/script.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * $script.js Async loader & dependency manager
3 | * https://github.com/ded/script.js
4 | * (c) Dustin Diaz, Jacob Thornton 2011
5 | * License: MIT
6 | */
7 | !function(a,b){typeof define=="function"?define(b):typeof module!="undefined"?module.exports=b():this[a]=b()}("$script",function(){function s(a,b,c){for(c=0,j=a.length;c ' : ' ');
21 | });
22 |
23 | // Register buttons
24 | ed.addButton('nonbreaking', {title : 'nonbreaking.nonbreaking_desc', cmd : 'mceNonBreaking'});
25 |
26 | if (ed.getParam('nonbreaking_force_tab')) {
27 | ed.onKeyDown.add(function(ed, e) {
28 | if (tinymce.isIE && e.keyCode == 9) {
29 | ed.execCommand('mceNonBreaking');
30 | ed.execCommand('mceNonBreaking');
31 | ed.execCommand('mceNonBreaking');
32 | tinymce.dom.Event.cancel(e);
33 | }
34 | });
35 | }
36 | },
37 |
38 | getInfo : function() {
39 | return {
40 | longname : 'Nonbreaking space',
41 | author : 'Moxiecode Systems AB',
42 | authorurl : 'http://tinymce.moxiecode.com',
43 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',
44 | version : tinymce.majorVersion + "." + tinymce.minorVersion
45 | };
46 | }
47 |
48 | // Private methods
49 | });
50 |
51 | // Register plugin
52 | tinymce.PluginManager.add('nonbreaking', tinymce.plugins.Nonbreaking);
53 | })();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/style/editor_plugin_src.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editor_plugin_src.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | (function() {
12 | tinymce.create('tinymce.plugins.StylePlugin', {
13 | init : function(ed, url) {
14 | // Register commands
15 | ed.addCommand('mceStyleProps', function() {
16 | ed.windowManager.open({
17 | file : url + '/props.htm',
18 | width : 480 + parseInt(ed.getLang('style.delta_width', 0)),
19 | height : 320 + parseInt(ed.getLang('style.delta_height', 0)),
20 | inline : 1
21 | }, {
22 | plugin_url : url,
23 | style_text : ed.selection.getNode().style.cssText
24 | });
25 | });
26 |
27 | ed.addCommand('mceSetElementStyle', function(ui, v) {
28 | if (e = ed.selection.getNode()) {
29 | ed.dom.setAttrib(e, 'style', v);
30 | ed.execCommand('mceRepaint');
31 | }
32 | });
33 |
34 | ed.onNodeChange.add(function(ed, cm, n) {
35 | cm.setDisabled('styleprops', n.nodeName === 'BODY');
36 | });
37 |
38 | // Register buttons
39 | ed.addButton('styleprops', {title : 'style.desc', cmd : 'mceStyleProps'});
40 | },
41 |
42 | getInfo : function() {
43 | return {
44 | longname : 'Style',
45 | author : 'Moxiecode Systems AB',
46 | authorurl : 'http://tinymce.moxiecode.com',
47 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',
48 | version : tinymce.majorVersion + "." + tinymce.minorVersion
49 | };
50 | }
51 | });
52 |
53 | // Register plugin
54 | tinymce.PluginManager.add('style', tinymce.plugins.StylePlugin);
55 | })();
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/js/source_editor.js:
--------------------------------------------------------------------------------
1 | tinyMCEPopup.requireLangPack();
2 | tinyMCEPopup.onInit.add(onLoadInit);
3 |
4 | function saveContent() {
5 | tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value, {source_view : true});
6 | tinyMCEPopup.close();
7 | }
8 |
9 | function onLoadInit() {
10 | tinyMCEPopup.resizeToInnerSize();
11 |
12 | // Remove Gecko spellchecking
13 | if (tinymce.isGecko)
14 | document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck");
15 |
16 | document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent({source_view : true});
17 |
18 | if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) {
19 | setWrap('soft');
20 | document.getElementById('wraped').checked = true;
21 | }
22 |
23 | resizeInputs();
24 | }
25 |
26 | function setWrap(val) {
27 | var v, n, s = document.getElementById('htmlSource');
28 |
29 | s.wrap = val;
30 |
31 | if (!tinymce.isIE) {
32 | v = s.value;
33 | n = s.cloneNode(false);
34 | n.setAttribute("wrap", val);
35 | s.parentNode.replaceChild(n, s);
36 | n.value = v;
37 | }
38 | }
39 |
40 | function toggleWordWrap(elm) {
41 | if (elm.checked)
42 | setWrap('soft');
43 | else
44 | setWrap('off');
45 | }
46 |
47 | var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
48 |
49 | function resizeInputs() {
50 | var el = document.getElementById('htmlSource');
51 |
52 | if (!tinymce.isIE) {
53 | wHeight = self.innerHeight - 65;
54 | wWidth = self.innerWidth - 16;
55 | } else {
56 | wHeight = document.body.clientHeight - 70;
57 | wWidth = document.body.clientWidth - 16;
58 | }
59 |
60 | el.style.height = Math.abs(wHeight) + 'px';
61 | el.style.width = Math.abs(wWidth) + 'px';
62 | }
63 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/style/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.style_dlg',{
2 | title:"Edit CSS Style",
3 | apply:"Apply",
4 | text_tab:"Text",
5 | background_tab:"Background",
6 | block_tab:"Block",
7 | box_tab:"Box",
8 | border_tab:"Border",
9 | list_tab:"List",
10 | positioning_tab:"Positioning",
11 | text_props:"Text",
12 | text_font:"Font",
13 | text_size:"Size",
14 | text_weight:"Weight",
15 | text_style:"Style",
16 | text_variant:"Variant",
17 | text_lineheight:"Line height",
18 | text_case:"Case",
19 | text_color:"Color",
20 | text_decoration:"Decoration",
21 | text_overline:"overline",
22 | text_underline:"underline",
23 | text_striketrough:"strikethrough",
24 | text_blink:"blink",
25 | text_none:"none",
26 | background_color:"Background color",
27 | background_image:"Background image",
28 | background_repeat:"Repeat",
29 | background_attachment:"Attachment",
30 | background_hpos:"Horizontal position",
31 | background_vpos:"Vertical position",
32 | block_wordspacing:"Word spacing",
33 | block_letterspacing:"Letter spacing",
34 | block_vertical_alignment:"Vertical alignment",
35 | block_text_align:"Text align",
36 | block_text_indent:"Text indent",
37 | block_whitespace:"Whitespace",
38 | block_display:"Display",
39 | box_width:"Width",
40 | box_height:"Height",
41 | box_float:"Float",
42 | box_clear:"Clear",
43 | padding:"Padding",
44 | same:"Same for all",
45 | top:"Top",
46 | right:"Right",
47 | bottom:"Bottom",
48 | left:"Left",
49 | margin:"Margin",
50 | style:"Style",
51 | width:"Width",
52 | height:"Height",
53 | color:"Color",
54 | list_type:"Type",
55 | bullet_image:"Bullet image",
56 | position:"Position",
57 | positioning_type:"Type",
58 | visibility:"Visibility",
59 | zindex:"Z-index",
60 | overflow:"Overflow",
61 | placement:"Placement",
62 | clip:"Clip"
63 | });
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/preview/editor_plugin_src.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editor_plugin_src.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | (function() {
12 | tinymce.create('tinymce.plugins.Preview', {
13 | init : function(ed, url) {
14 | var t = this, css = tinymce.explode(ed.settings.content_css);
15 |
16 | t.editor = ed;
17 |
18 | // Force absolute CSS urls
19 | tinymce.each(css, function(u, k) {
20 | css[k] = ed.documentBaseURI.toAbsolute(u);
21 | });
22 |
23 | ed.addCommand('mcePreview', function() {
24 | ed.windowManager.open({
25 | file : ed.getParam("plugin_preview_pageurl", url + "/preview.html"),
26 | width : parseInt(ed.getParam("plugin_preview_width", "550")),
27 | height : parseInt(ed.getParam("plugin_preview_height", "600")),
28 | resizable : "yes",
29 | scrollbars : "yes",
30 | popup_css : css ? css.join(',') : ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css"),
31 | inline : ed.getParam("plugin_preview_inline", 1)
32 | }, {
33 | base : ed.documentBaseURI.getURI()
34 | });
35 | });
36 |
37 | ed.addButton('preview', {title : 'preview.preview_desc', cmd : 'mcePreview'});
38 | },
39 |
40 | getInfo : function() {
41 | return {
42 | longname : 'Preview',
43 | author : 'Moxiecode Systems AB',
44 | authorurl : 'http://tinymce.moxiecode.com',
45 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',
46 | version : tinymce.majorVersion + "." + tinymce.minorVersion
47 | };
48 | }
49 | });
50 |
51 | // Register plugin
52 | tinymce.PluginManager.add('preview', tinymce.plugins.Preview);
53 | })();
--------------------------------------------------------------------------------
/templates/add.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load bt %}
3 | {% load i18n %}
4 | {% block styles %}
5 |
6 | {% endblock %}
7 | {% block scripts %}
8 |
9 |
10 |
11 |
12 |
13 |
27 | {% endblock %}
28 |
29 | {%block content%}
30 | {% trans "New Violation" %}
31 |
32 | {% for field in form %}
33 | {% if field.label = 'Resource' %}{% trans "Provide optional details" %}
{%endif%}
34 |
35 |
36 | {{ field.errors }}
37 |
{{ field.help_text }}
38 | {{ field.label_tag }} {{ field }}
39 |
40 |
41 | {% endfor %}
42 |
43 | {% csrf_token %}
44 |
45 |
46 | {%endblock%}
47 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/paste/js/pasteword.js:
--------------------------------------------------------------------------------
1 | tinyMCEPopup.requireLangPack();
2 |
3 | var PasteWordDialog = {
4 | init : function() {
5 | var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = '';
6 |
7 | // Create iframe
8 | el.innerHTML = '';
9 | ifr = document.getElementById('iframe');
10 | doc = ifr.contentWindow.document;
11 |
12 | // Force absolute CSS urls
13 | css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")];
14 | css = css.concat(tinymce.explode(ed.settings.content_css) || []);
15 | tinymce.each(css, function(u) {
16 | cssHTML += ' ';
17 | });
18 |
19 | // Write content into iframe
20 | doc.open();
21 | doc.write('' + cssHTML + '');
22 | doc.close();
23 |
24 | doc.designMode = 'on';
25 | this.resize();
26 |
27 | window.setTimeout(function() {
28 | ifr.contentWindow.focus();
29 | }, 10);
30 | },
31 |
32 | insert : function() {
33 | var h = document.getElementById('iframe').contentWindow.document.body.innerHTML;
34 |
35 | tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true});
36 | tinyMCEPopup.close();
37 | },
38 |
39 | resize : function() {
40 | var vp = tinyMCEPopup.dom.getViewPort(window), el;
41 |
42 | el = document.getElementById('iframe');
43 |
44 | if (el) {
45 | el.style.width = (vp.w - 20) + 'px';
46 | el.style.height = (vp.h - 90) + 'px';
47 | }
48 | }
49 | };
50 |
51 | tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog);
52 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advlink/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.advlink_dlg',{
2 | title:"Insert/edit link",
3 | url:"Link URL",
4 | target:"Target",
5 | titlefield:"Title",
6 | is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?",
7 | is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?",
8 | list:"Link list",
9 | general_tab:"General",
10 | popup_tab:"Popup",
11 | events_tab:"Events",
12 | advanced_tab:"Advanced",
13 | general_props:"General properties",
14 | popup_props:"Popup properties",
15 | event_props:"Events",
16 | advanced_props:"Advanced properties",
17 | popup_opts:"Options",
18 | anchor_names:"Anchors",
19 | target_same:"Open in this window / frame",
20 | target_parent:"Open in parent window / frame",
21 | target_top:"Open in top frame (replaces all frames)",
22 | target_blank:"Open in new window",
23 | popup:"Javascript popup",
24 | popup_url:"Popup URL",
25 | popup_name:"Window name",
26 | popup_return:"Insert 'return false'",
27 | popup_scrollbars:"Show scrollbars",
28 | popup_statusbar:"Show status bar",
29 | popup_toolbar:"Show toolbars",
30 | popup_menubar:"Show menu bar",
31 | popup_location:"Show location bar",
32 | popup_resizable:"Make window resizable",
33 | popup_dependent:"Dependent (Mozilla/Firefox only)",
34 | popup_size:"Size",
35 | popup_position:"Position (X/Y)",
36 | id:"Id",
37 | style:"Style",
38 | classes:"Classes",
39 | target_name:"Target name",
40 | langdir:"Language direction",
41 | target_langcode:"Target language",
42 | langcode:"Language code",
43 | encoding:"Target character encoding",
44 | mime:"Target MIME type",
45 | rel:"Relationship page to target",
46 | rev:"Relationship target to page",
47 | tabindex:"Tabindex",
48 | accesskey:"Accesskey",
49 | ltr:"Left to right",
50 | rtl:"Right to left",
51 | link_list:"Link list"
52 | });
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/searchreplace/editor_plugin_src.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editor_plugin_src.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | (function() {
12 | tinymce.create('tinymce.plugins.SearchReplacePlugin', {
13 | init : function(ed, url) {
14 | function open(m) {
15 | ed.windowManager.open({
16 | file : url + '/searchreplace.htm',
17 | width : 420 + parseInt(ed.getLang('searchreplace.delta_width', 0)),
18 | height : 170 + parseInt(ed.getLang('searchreplace.delta_height', 0)),
19 | inline : 1,
20 | auto_focus : 0
21 | }, {
22 | mode : m,
23 | search_string : ed.selection.getContent({format : 'text'}),
24 | plugin_url : url
25 | });
26 | };
27 |
28 | // Register commands
29 | ed.addCommand('mceSearch', function() {
30 | open('search');
31 | });
32 |
33 | ed.addCommand('mceReplace', function() {
34 | open('replace');
35 | });
36 |
37 | // Register buttons
38 | ed.addButton('search', {title : 'searchreplace.search_desc', cmd : 'mceSearch'});
39 | ed.addButton('replace', {title : 'searchreplace.replace_desc', cmd : 'mceReplace'});
40 |
41 | ed.addShortcut('ctrl+f', 'searchreplace.search_desc', 'mceSearch');
42 | },
43 |
44 | getInfo : function() {
45 | return {
46 | longname : 'Search/Replace',
47 | author : 'Moxiecode Systems AB',
48 | authorurl : 'http://tinymce.moxiecode.com',
49 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',
50 | version : tinymce.majorVersion + "." + tinymce.minorVersion
51 | };
52 | }
53 | });
54 |
55 | // Register plugin
56 | tinymce.PluginManager.add('searchreplace', tinymce.plugins.SearchReplacePlugin);
57 | })();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advlink/editor_plugin_src.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editor_plugin_src.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | (function() {
12 | tinymce.create('tinymce.plugins.AdvancedLinkPlugin', {
13 | init : function(ed, url) {
14 | this.editor = ed;
15 |
16 | // Register commands
17 | ed.addCommand('mceAdvLink', function() {
18 | var se = ed.selection;
19 |
20 | // No selection and not in link
21 | if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A'))
22 | return;
23 |
24 | ed.windowManager.open({
25 | file : url + '/link.htm',
26 | width : 480 + parseInt(ed.getLang('advlink.delta_width', 0)),
27 | height : 400 + parseInt(ed.getLang('advlink.delta_height', 0)),
28 | inline : 1
29 | }, {
30 | plugin_url : url
31 | });
32 | });
33 |
34 | // Register buttons
35 | ed.addButton('link', {
36 | title : 'advlink.link_desc',
37 | cmd : 'mceAdvLink'
38 | });
39 |
40 | ed.addShortcut('ctrl+k', 'advlink.advlink_desc', 'mceAdvLink');
41 |
42 | ed.onNodeChange.add(function(ed, cm, n, co) {
43 | cm.setDisabled('link', co && n.nodeName != 'A');
44 | cm.setActive('link', n.nodeName == 'A' && !n.name);
45 | });
46 | },
47 |
48 | getInfo : function() {
49 | return {
50 | longname : 'Advanced link',
51 | author : 'Moxiecode Systems AB',
52 | authorurl : 'http://tinymce.moxiecode.com',
53 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
54 | version : tinymce.majorVersion + "." + tinymce.minorVersion
55 | };
56 | }
57 | });
58 |
59 | // Register plugin
60 | tinymce.PluginManager.add('advlink', tinymce.plugins.AdvancedLinkPlugin);
61 | })();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/insertdatetime/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.InsertDateTime",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceInsertDate",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_dateFormat",a.getLang("insertdatetime.date_fmt")));a.execCommand("mceInsertContent",false,d)});a.addCommand("mceInsertTime",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_timeFormat",a.getLang("insertdatetime.time_fmt")));a.execCommand("mceInsertContent",false,d)});a.addButton("insertdate",{title:"insertdatetime.insertdate_desc",cmd:"mceInsertDate"});a.addButton("inserttime",{title:"insertdatetime.inserttime_desc",cmd:"mceInsertTime"})},getInfo:function(){return{longname:"Insert date/time",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getDateTime:function(e,a){var c=this.editor;function b(g,d){g=""+g;if(g.length
7 | {% trans "RespectMyNet.eu is an online platform enabling citizens to become the watchmen of the Internet by reporting Net Neutrality violations. Everyone is invited to report undue blocking or throttling of their Internet access, and help name and shame operators' harmful practices." %}
8 | {% trans "This platform is a joint project by La Quadrature du Net, Bits of Freedom and individual contributors. It was launched on September 22nd, 2011." %}
9 | {% trans "Organisations will submit reports to national and EU regulatory authorities if appropriate." %}
10 | {% trans "For enquiries about the project, please contact:" %}
11 |
15 | {% trans "Initiators" %}
16 |
20 | {% trans "Supporters" %}
21 |
25 |
26 | {% endblock %}
27 |
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.advanced_dlg',{
2 | about_title:"About TinyMCE",
3 | about_general:"About",
4 | about_help:"Help",
5 | about_license:"License",
6 | about_plugins:"Plugins",
7 | about_plugin:"Plugin",
8 | about_author:"Author",
9 | about_version:"Version",
10 | about_loaded:"Loaded plugins",
11 | anchor_title:"Insert/edit anchor",
12 | anchor_name:"Anchor name",
13 | code_title:"HTML Source Editor",
14 | code_wordwrap:"Word wrap",
15 | colorpicker_title:"Select a color",
16 | colorpicker_picker_tab:"Picker",
17 | colorpicker_picker_title:"Color picker",
18 | colorpicker_palette_tab:"Palette",
19 | colorpicker_palette_title:"Palette colors",
20 | colorpicker_named_tab:"Named",
21 | colorpicker_named_title:"Named colors",
22 | colorpicker_color:"Color:",
23 | colorpicker_name:"Name:",
24 | charmap_title:"Select custom character",
25 | image_title:"Insert/edit image",
26 | image_src:"Image URL",
27 | image_alt:"Image description",
28 | image_list:"Image list",
29 | image_border:"Border",
30 | image_dimensions:"Dimensions",
31 | image_vspace:"Vertical space",
32 | image_hspace:"Horizontal space",
33 | image_align:"Alignment",
34 | image_align_baseline:"Baseline",
35 | image_align_top:"Top",
36 | image_align_middle:"Middle",
37 | image_align_bottom:"Bottom",
38 | image_align_texttop:"Text top",
39 | image_align_textbottom:"Text bottom",
40 | image_align_left:"Left",
41 | image_align_right:"Right",
42 | link_title:"Insert/edit link",
43 | link_url:"Link URL",
44 | link_target:"Target",
45 | link_target_same:"Open link in the same window",
46 | link_target_blank:"Open link in a new window",
47 | link_titlefield:"Title",
48 | link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?",
49 | link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?",
50 | link_list:"Link list"
51 | });
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advlist/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){var a=tinymce.each;tinymce.create("tinymce.plugins.AdvListPlugin",{init:function(b,c){var d=this;d.editor=b;function e(g){var f=[];a(g.split(/,/),function(h){f.push({title:"advlist."+(h=="default"?"def":h.replace(/-/g,"_")),styles:{listStyleType:h=="default"?"":h}})});return f}d.numlist=b.getParam("advlist_number_styles")||e("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");d.bullist=b.getParam("advlist_bullet_styles")||e("default,circle,disc,square")},createControl:function(d,b){var f=this,e,h;if(d=="numlist"||d=="bullist"){if(f[d][0].title=="advlist.def"){h=f[d][0]}function c(i,k){var j=true;a(k.styles,function(m,l){if(f.editor.dom.getStyle(i,l)!=m){j=false;return false}});return j}function g(){var k,i=f.editor,l=i.dom,j=i.selection;k=l.getParent(j.getNode(),"ol,ul");if(!k||k.nodeName==(d=="bullist"?"OL":"UL")||c(k,h)){i.execCommand(d=="bullist"?"InsertUnorderedList":"InsertOrderedList")}if(h){k=l.getParent(j.getNode(),"ol,ul");if(k){l.setStyles(k,h.styles);k.removeAttribute("_mce_style")}}}e=b.createSplitButton(d,{title:"advanced."+d+"_desc","class":"mce_"+d,onclick:function(){g()}});e.onRenderMenu.add(function(i,j){j.onShowMenu.add(function(){var m=f.editor.dom,l=m.getParent(f.editor.selection.getNode(),"ol,ul"),k;if(l||h){k=f[d];a(j.items,function(n){var o=true;n.setSelected(0);if(l&&!n.isDisabled()){a(k,function(p){if(p.id==n.id){if(!c(l,p)){o=false;return false}}});if(o){n.setSelected(1)}}});if(!l){j.items[h.id].setSelected(1)}}});j.add({id:f.editor.dom.uniqueId(),title:"advlist.types","class":"mceMenuItemTitle"}).setDisabled(1);a(f[d],function(k){k.id=f.editor.dom.uniqueId();j.add({id:k.id,title:k.title,onclick:function(){h=k;g()}})})});return e}},getInfo:function(){return{longname:"Advanced lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlist",tinymce.plugins.AdvListPlugin)})();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/xhtmlxtras/js/ins.js:
--------------------------------------------------------------------------------
1 | /**
2 | * ins.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | function init() {
12 | SXE.initElementDialog('ins');
13 | if (SXE.currentAction == "update") {
14 | setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime'));
15 | setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite'));
16 | SXE.showRemoveButton();
17 | }
18 | }
19 |
20 | function setElementAttribs(elm) {
21 | setAllCommonAttribs(elm);
22 | setAttrib(elm, 'datetime');
23 | setAttrib(elm, 'cite');
24 | }
25 |
26 | function insertIns() {
27 | var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS');
28 | tinyMCEPopup.execCommand('mceBeginUndoLevel');
29 | if (elm == null) {
30 | var s = SXE.inst.selection.getContent();
31 | if(s.length > 0) {
32 | insertInlineElement('INS');
33 | var elementArray = tinymce.grep(SXE.inst.dom.select('ins'), function(n) {return n.id == '#sxe_temp_ins#';});
34 | for (var i=0; i 0) {
33 | insertInlineElement('del');
34 | var elementArray = tinymce.grep(SXE.inst.dom.select('del'), function(n) {return n.id == '#sxe_temp_del#';});
35 | for (var i=0; i';
61 |
62 | for (n in p)
63 | h += ' ';
64 |
65 | h += ' ';
71 |
72 | document.write(h);
73 | }
74 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/preview/jscripts/embed.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
3 | */
4 |
5 | function writeFlash(p) {
6 | writeEmbed(
7 | 'D27CDB6E-AE6D-11cf-96B8-444553540000',
8 | 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
9 | 'application/x-shockwave-flash',
10 | p
11 | );
12 | }
13 |
14 | function writeShockWave(p) {
15 | writeEmbed(
16 | '166B1BCA-3F9C-11CF-8075-444553540000',
17 | 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
18 | 'application/x-director',
19 | p
20 | );
21 | }
22 |
23 | function writeQuickTime(p) {
24 | writeEmbed(
25 | '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
26 | 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
27 | 'video/quicktime',
28 | p
29 | );
30 | }
31 |
32 | function writeRealMedia(p) {
33 | writeEmbed(
34 | 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
35 | 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
36 | 'audio/x-pn-realaudio-plugin',
37 | p
38 | );
39 | }
40 |
41 | function writeWindowsMedia(p) {
42 | p.url = p.src;
43 | writeEmbed(
44 | '6BF52A52-394A-11D3-B153-00C04F79FAA6',
45 | 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
46 | 'application/x-mplayer2',
47 | p
48 | );
49 | }
50 |
51 | function writeEmbed(cls, cb, mt, p) {
52 | var h = '', n;
53 |
54 | h += '';
61 |
62 | for (n in p)
63 | h += ' ';
64 |
65 | h += ' ';
71 |
72 | document.write(h);
73 | }
74 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/contextmenu/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(d){var f=this,g;f.editor=d;f.onContextMenu=new tinymce.util.Dispatcher(this);d.onContextMenu.add(function(h,i){if(!i.ctrlKey){if(g){h.selection.setRng(g)}f._getMenu(h).showMenu(i.clientX,i.clientY);a.add(h.getDoc(),"click",function(j){e(h,j)});a.cancel(i)}});d.onRemove.add(function(){if(f._menu){f._menu.removeAll()}});function e(h,i){g=null;if(i&&i.button==2){g=h.selection.getRng();return}if(f._menu){f._menu.removeAll();f._menu.destroy();a.remove(h.getDoc(),"click",e)}}d.onMouseDown.add(e);d.onKeyDown.add(e)},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(h){var l=this,f=l._menu,i=h.selection,e=i.isCollapsed(),d=i.getNode()||h.getBody(),g,k,j;if(f){f.removeAll();f.destroy()}k=b.getPos(h.getContentAreaContainer());j=b.getPos(h.getContainer());f=h.controlManager.createDropMenu("contextmenu",{offset_x:k.x+h.getParam("contextmenu_offset_x",0),offset_y:k.y+h.getParam("contextmenu_offset_y",0),constrain:1});l._menu=f;f.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(e);f.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(e);f.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((d.nodeName=="A"&&!h.dom.getAttrib(d,"name"))||!e){f.addSeparator();f.add({title:"advanced.link_desc",icon:"link",cmd:h.plugins.advlink?"mceAdvLink":"mceLink",ui:true});f.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}f.addSeparator();f.add({title:"advanced.image_desc",icon:"image",cmd:h.plugins.advimage?"mceAdvImage":"mceImage",ui:true});f.addSeparator();g=f.addMenu({title:"contextmenu.align"});g.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});g.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});g.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});g.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});l.onContextMenu.dispatch(l,f,d,e);return f}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})();
--------------------------------------------------------------------------------
/media/js/tinymce/utils/editable_selects.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editable_selects.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | var TinyMCE_EditableSelects = {
12 | editSelectElm : null,
13 |
14 | init : function() {
15 | var nl = document.getElementsByTagName("select"), i, d = document, o;
16 |
17 | for (i=0; i';
17 | html += '';
18 | html += '';
19 | html += '' + ed.getLang('advanced_dlg.about_plugin') + ' ';
20 | html += '' + ed.getLang('advanced_dlg.about_author') + ' ';
21 | html += '' + ed.getLang('advanced_dlg.about_version') + ' ';
22 | html += ' ';
23 | html += ' ';
24 | html += '';
25 |
26 | tinymce.each(ed.plugins, function(p, n) {
27 | var info;
28 |
29 | if (!p.getInfo)
30 | return;
31 |
32 | html += '';
33 |
34 | info = p.getInfo();
35 |
36 | if (info.infourl != null && info.infourl != '')
37 | html += '' + info.longname + ' ';
38 | else
39 | html += '' + info.longname + ' ';
40 |
41 | if (info.authorurl != null && info.authorurl != '')
42 | html += '' + info.author + ' ';
43 | else
44 | html += '' + info.author + ' ';
45 |
46 | html += '' + info.version + ' ';
47 | html += ' ';
48 |
49 | document.getElementById('plugins_tab').style.display = '';
50 |
51 | });
52 |
53 | html += ' ';
54 | html += '';
55 |
56 | tcont.innerHTML = html;
57 |
58 | tinyMCEPopup.dom.get('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion;
59 | tinyMCEPopup.dom.get('date').innerHTML = tinymce.releaseDate;
60 | }
61 |
62 | function insertHelpIFrame() {
63 | var html;
64 |
65 | if (tinyMCEPopup.getParam('docs_url')) {
66 | html = '';
67 | document.getElementById('iframecontainer').innerHTML = html;
68 | document.getElementById('help_tab').style.display = 'block';
69 | }
70 | }
71 |
72 | tinyMCEPopup.onInit.add(init);
73 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/directionality/editor_plugin_src.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editor_plugin_src.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | (function() {
12 | tinymce.create('tinymce.plugins.Directionality', {
13 | init : function(ed, url) {
14 | var t = this;
15 |
16 | t.editor = ed;
17 |
18 | ed.addCommand('mceDirectionLTR', function() {
19 | var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock);
20 |
21 | if (e) {
22 | if (ed.dom.getAttrib(e, "dir") != "ltr")
23 | ed.dom.setAttrib(e, "dir", "ltr");
24 | else
25 | ed.dom.setAttrib(e, "dir", "");
26 | }
27 |
28 | ed.nodeChanged();
29 | });
30 |
31 | ed.addCommand('mceDirectionRTL', function() {
32 | var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock);
33 |
34 | if (e) {
35 | if (ed.dom.getAttrib(e, "dir") != "rtl")
36 | ed.dom.setAttrib(e, "dir", "rtl");
37 | else
38 | ed.dom.setAttrib(e, "dir", "");
39 | }
40 |
41 | ed.nodeChanged();
42 | });
43 |
44 | ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'});
45 | ed.addButton('rtl', {title : 'directionality.rtl_desc', cmd : 'mceDirectionRTL'});
46 |
47 | ed.onNodeChange.add(t._nodeChange, t);
48 | },
49 |
50 | getInfo : function() {
51 | return {
52 | longname : 'Directionality',
53 | author : 'Moxiecode Systems AB',
54 | authorurl : 'http://tinymce.moxiecode.com',
55 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',
56 | version : tinymce.majorVersion + "." + tinymce.minorVersion
57 | };
58 | },
59 |
60 | // Private methods
61 |
62 | _nodeChange : function(ed, cm, n) {
63 | var dom = ed.dom, dir;
64 |
65 | n = dom.getParent(n, dom.isBlock);
66 | if (!n) {
67 | cm.setDisabled('ltr', 1);
68 | cm.setDisabled('rtl', 1);
69 | return;
70 | }
71 |
72 | dir = dom.getAttrib(n, 'dir');
73 | cm.setActive('ltr', dir == "ltr");
74 | cm.setDisabled('ltr', 0);
75 | cm.setActive('rtl', dir == "rtl");
76 | cm.setDisabled('rtl', 0);
77 | }
78 | });
79 |
80 | // Register plugin
81 | tinymce.PluginManager.add('directionality', tinymce.plugins.Directionality);
82 | })();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/table/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.table_dlg',{
2 | general_tab:"General",
3 | advanced_tab:"Advanced",
4 | general_props:"General properties",
5 | advanced_props:"Advanced properties",
6 | rowtype:"Row in table part",
7 | title:"Insert/Modify table",
8 | width:"Width",
9 | height:"Height",
10 | cols:"Cols",
11 | rows:"Rows",
12 | cellspacing:"Cellspacing",
13 | cellpadding:"Cellpadding",
14 | border:"Border",
15 | align:"Alignment",
16 | align_default:"Default",
17 | align_left:"Left",
18 | align_right:"Right",
19 | align_middle:"Center",
20 | row_title:"Table row properties",
21 | cell_title:"Table cell properties",
22 | cell_type:"Cell type",
23 | valign:"Vertical alignment",
24 | align_top:"Top",
25 | align_bottom:"Bottom",
26 | bordercolor:"Border color",
27 | bgcolor:"Background color",
28 | merge_cells_title:"Merge table cells",
29 | id:"Id",
30 | style:"Style",
31 | langdir:"Language direction",
32 | langcode:"Language code",
33 | mime:"Target MIME type",
34 | ltr:"Left to right",
35 | rtl:"Right to left",
36 | bgimage:"Background image",
37 | summary:"Summary",
38 | td:"Data",
39 | th:"Header",
40 | cell_cell:"Update current cell",
41 | cell_row:"Update all cells in row",
42 | cell_all:"Update all cells in table",
43 | row_row:"Update current row",
44 | row_odd:"Update odd rows in table",
45 | row_even:"Update even rows in table",
46 | row_all:"Update all rows in table",
47 | thead:"Table Head",
48 | tbody:"Table Body",
49 | tfoot:"Table Foot",
50 | scope:"Scope",
51 | rowgroup:"Row Group",
52 | colgroup:"Col Group",
53 | col_limit:"You've exceeded the maximum number of columns of {$cols}.",
54 | row_limit:"You've exceeded the maximum number of rows of {$rows}.",
55 | cell_limit:"You've exceeded the maximum number of cells of {$cells}.",
56 | missing_scope:"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.",
57 | caption:"Table caption",
58 | frame:"Frame",
59 | frame_none:"none",
60 | frame_groups:"groups",
61 | frame_rows:"rows",
62 | frame_cols:"cols",
63 | frame_all:"all",
64 | rules:"Rules",
65 | rules_void:"void",
66 | rules_above:"above",
67 | rules_below:"below",
68 | rules_hsides:"hsides",
69 | rules_lhs:"lhs",
70 | rules_rhs:"rhs",
71 | rules_vsides:"vsides",
72 | rules_box:"box",
73 | rules_border:"border"
74 | });
--------------------------------------------------------------------------------
/media/js/tinymce/themes/simple/skins/o2k7/ui.css:
--------------------------------------------------------------------------------
1 | /* Reset */
2 | .o2k7SimpleSkin table, .o2k7SimpleSkin tbody, .o2k7SimpleSkin a, .o2k7SimpleSkin img, .o2k7SimpleSkin tr, .o2k7SimpleSkin div, .o2k7SimpleSkin td, .o2k7SimpleSkin iframe, .o2k7SimpleSkin span, .o2k7SimpleSkin * {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000}
3 |
4 | /* Containers */
5 | .o2k7SimpleSkin {position:relative}
6 | .o2k7SimpleSkin table.mceLayout {background:#E5EFFD; border:1px solid #ABC6DD;}
7 | .o2k7SimpleSkin iframe {display:block; background:#FFF; border-bottom:1px solid #ABC6DD;}
8 | .o2k7SimpleSkin .mceToolbar {height:26px;}
9 |
10 | /* Layout */
11 | .o2k7SimpleSkin .mceToolbar .mceToolbarStart span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px; }
12 | .o2k7SimpleSkin .mceToolbar .mceToolbarEnd span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px}
13 | .o2k7SimpleSkin span.mceIcon, .o2k7SimpleSkin img.mceIcon {display:block; width:20px; height:20px}
14 | .o2k7SimpleSkin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px}
15 |
16 | /* Button */
17 | .o2k7SimpleSkin .mceButton {display:block; background:url(img/button_bg.png); width:22px; height:22px}
18 | .o2k7SimpleSkin a.mceButton span, .o2k7SimpleSkin a.mceButton img {margin:1px 0 0 1px}
19 | .o2k7SimpleSkin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px}
20 | .o2k7SimpleSkin a.mceButtonActive {background-position:0 -44px}
21 | .o2k7SimpleSkin .mceButtonDisabled span {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)}
22 |
23 | /* Separator */
24 | .o2k7SimpleSkin .mceSeparator {display:block; background:url(img/button_bg.png) -22px 0; width:5px; height:22px}
25 |
26 | /* Theme */
27 | .o2k7SimpleSkin span.mce_bold {background-position:0 0}
28 | .o2k7SimpleSkin span.mce_italic {background-position:-60px 0}
29 | .o2k7SimpleSkin span.mce_underline {background-position:-140px 0}
30 | .o2k7SimpleSkin span.mce_strikethrough {background-position:-120px 0}
31 | .o2k7SimpleSkin span.mce_undo {background-position:-160px 0}
32 | .o2k7SimpleSkin span.mce_redo {background-position:-100px 0}
33 | .o2k7SimpleSkin span.mce_cleanup {background-position:-40px 0}
34 | .o2k7SimpleSkin span.mce_insertunorderedlist {background-position:-20px 0}
35 | .o2k7SimpleSkin span.mce_insertorderedlist {background-position:-80px 0}
36 |
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/charmap.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {#advanced_dlg.charmap_title}
5 |
6 |
7 |
8 |
9 |
10 |
11 | {#advanced_dlg.charmap_title}
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | HTML-Code
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | NUM-Code
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/visualchars/editor_plugin_src.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editor_plugin_src.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | (function() {
12 | tinymce.create('tinymce.plugins.VisualChars', {
13 | init : function(ed, url) {
14 | var t = this;
15 |
16 | t.editor = ed;
17 |
18 | // Register commands
19 | ed.addCommand('mceVisualChars', t._toggleVisualChars, t);
20 |
21 | // Register buttons
22 | ed.addButton('visualchars', {title : 'visualchars.desc', cmd : 'mceVisualChars'});
23 |
24 | ed.onBeforeGetContent.add(function(ed, o) {
25 | if (t.state && o.format != 'raw' && !o.draft) {
26 | t.state = true;
27 | t._toggleVisualChars(false);
28 | }
29 | });
30 | },
31 |
32 | getInfo : function() {
33 | return {
34 | longname : 'Visual characters',
35 | author : 'Moxiecode Systems AB',
36 | authorurl : 'http://tinymce.moxiecode.com',
37 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',
38 | version : tinymce.majorVersion + "." + tinymce.minorVersion
39 | };
40 | },
41 |
42 | // Private methods
43 |
44 | _toggleVisualChars : function(bookmark) {
45 | var t = this, ed = t.editor, nl, i, h, d = ed.getDoc(), b = ed.getBody(), nv, s = ed.selection, bo, div, bm;
46 |
47 | t.state = !t.state;
48 | ed.controlManager.setActive('visualchars', t.state);
49 |
50 | if (bookmark)
51 | bm = s.getBookmark();
52 |
53 | if (t.state) {
54 | nl = [];
55 | tinymce.walk(b, function(n) {
56 | if (n.nodeType == 3 && n.nodeValue && n.nodeValue.indexOf('\u00a0') != -1)
57 | nl.push(n);
58 | }, 'childNodes');
59 |
60 | for (i = 0; i < nl.length; i++) {
61 | nv = nl[i].nodeValue;
62 | nv = nv.replace(/(\u00a0)/g, '$1 ');
63 |
64 | div = ed.dom.create('div', null, nv);
65 | while (node = div.lastChild)
66 | ed.dom.insertAfter(node, nl[i]);
67 |
68 | ed.dom.remove(nl[i]);
69 | }
70 | } else {
71 | nl = ed.dom.select('span.mceItemNbsp', b);
72 |
73 | for (i = nl.length - 1; i >= 0; i--)
74 | ed.dom.remove(nl[i], 1);
75 | }
76 |
77 | s.moveToBookmark(bm);
78 | }
79 | });
80 |
81 | // Register plugin
82 | tinymce.PluginManager.add('visualchars', tinymce.plugins.VisualChars);
83 | })();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/pagebreak/editor_plugin_src.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editor_plugin_src.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | (function() {
12 | tinymce.create('tinymce.plugins.PageBreakPlugin', {
13 | init : function(ed, url) {
14 | var pb = ' ', cls = 'mcePageBreak', sep = ed.getParam('pagebreak_separator', ''), pbRE;
15 |
16 | pbRE = new RegExp(sep.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function(a) {return '\\' + a;}), 'g');
17 |
18 | // Register commands
19 | ed.addCommand('mcePageBreak', function() {
20 | ed.execCommand('mceInsertContent', 0, pb);
21 | });
22 |
23 | // Register buttons
24 | ed.addButton('pagebreak', {title : 'pagebreak.desc', cmd : cls});
25 |
26 | ed.onInit.add(function() {
27 | if (ed.settings.content_css !== false)
28 | ed.dom.loadCSS(url + "/css/content.css");
29 |
30 | if (ed.theme.onResolveName) {
31 | ed.theme.onResolveName.add(function(th, o) {
32 | if (o.node.nodeName == 'IMG' && ed.dom.hasClass(o.node, cls))
33 | o.name = 'pagebreak';
34 | });
35 | }
36 | });
37 |
38 | ed.onClick.add(function(ed, e) {
39 | e = e.target;
40 |
41 | if (e.nodeName === 'IMG' && ed.dom.hasClass(e, cls))
42 | ed.selection.select(e);
43 | });
44 |
45 | ed.onNodeChange.add(function(ed, cm, n) {
46 | cm.setActive('pagebreak', n.nodeName === 'IMG' && ed.dom.hasClass(n, cls));
47 | });
48 |
49 | ed.onBeforeSetContent.add(function(ed, o) {
50 | o.content = o.content.replace(pbRE, pb);
51 | });
52 |
53 | ed.onPostProcess.add(function(ed, o) {
54 | if (o.get)
55 | o.content = o.content.replace(/ ]+>/g, function(im) {
56 | if (im.indexOf('class="mcePageBreak') !== -1)
57 | im = sep;
58 |
59 | return im;
60 | });
61 | });
62 | },
63 |
64 | getInfo : function() {
65 | return {
66 | longname : 'PageBreak',
67 | author : 'Moxiecode Systems AB',
68 | authorurl : 'http://tinymce.moxiecode.com',
69 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak',
70 | version : tinymce.majorVersion + "." + tinymce.minorVersion
71 | };
72 | }
73 | });
74 |
75 | // Register plugin
76 | tinymce.PluginManager.add('pagebreak', tinymce.plugins.PageBreakPlugin);
77 | })();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/xhtmlxtras/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.XHTMLXtrasPlugin",{init:function(a,b){a.addCommand("mceCite",function(){a.windowManager.open({file:b+"/cite.htm",width:350+parseInt(a.getLang("xhtmlxtras.cite_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.cite_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceAcronym",function(){a.windowManager.open({file:b+"/acronym.htm",width:350+parseInt(a.getLang("xhtmlxtras.acronym_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.acronym_delta_width",0)),inline:1},{plugin_url:b})});a.addCommand("mceAbbr",function(){a.windowManager.open({file:b+"/abbr.htm",width:350+parseInt(a.getLang("xhtmlxtras.abbr_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.abbr_delta_width",0)),inline:1},{plugin_url:b})});a.addCommand("mceDel",function(){a.windowManager.open({file:b+"/del.htm",width:340+parseInt(a.getLang("xhtmlxtras.del_delta_width",0)),height:310+parseInt(a.getLang("xhtmlxtras.del_delta_width",0)),inline:1},{plugin_url:b})});a.addCommand("mceIns",function(){a.windowManager.open({file:b+"/ins.htm",width:340+parseInt(a.getLang("xhtmlxtras.ins_delta_width",0)),height:310+parseInt(a.getLang("xhtmlxtras.ins_delta_width",0)),inline:1},{plugin_url:b})});a.addCommand("mceAttributes",function(){a.windowManager.open({file:b+"/attributes.htm",width:380,height:370,inline:1},{plugin_url:b})});a.addButton("cite",{title:"xhtmlxtras.cite_desc",cmd:"mceCite"});a.addButton("acronym",{title:"xhtmlxtras.acronym_desc",cmd:"mceAcronym"});a.addButton("abbr",{title:"xhtmlxtras.abbr_desc",cmd:"mceAbbr"});a.addButton("del",{title:"xhtmlxtras.del_desc",cmd:"mceDel"});a.addButton("ins",{title:"xhtmlxtras.ins_desc",cmd:"mceIns"});a.addButton("attribs",{title:"xhtmlxtras.attribs_desc",cmd:"mceAttributes"});a.onNodeChange.add(function(d,c,f,e){f=d.dom.getParent(f,"CITE,ACRONYM,ABBR,DEL,INS");c.setDisabled("cite",e);c.setDisabled("acronym",e);c.setDisabled("abbr",e);c.setDisabled("del",e);c.setDisabled("ins",e);c.setDisabled("attribs",f&&f.nodeName=="BODY");c.setActive("cite",0);c.setActive("acronym",0);c.setActive("abbr",0);c.setActive("del",0);c.setActive("ins",0);if(f){do{c.setDisabled(f.nodeName.toLowerCase(),0);c.setActive(f.nodeName.toLowerCase(),1)}while(f=f.parentNode)}});a.onPreInit.add(function(){a.dom.create("abbr")})},getInfo:function(){return{longname:"XHTML Xtras Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("xhtmlxtras",tinymce.plugins.XHTMLXtrasPlugin)})();
--------------------------------------------------------------------------------
/media/js/map.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function() {
2 | var onCountryClick = function(target) {
3 | window.location='/list/'+target.iso2+"/";
4 | };
5 | $(function() {
6 | window.map = $K.map('#map');
7 | map.loadMap('/site_media/eu.svg', function(map) {
8 | map
9 | .addLayer('eu', 'bgback')
10 | .addLayer('eu', 'bg')
11 | .addLayer('eu', 'bgstroke')
12 | .addLayer({'id': 'countries', 'className': 'context'})
13 | .addLayer('graticule')
14 | .addLayer({'id': 'eu',
15 | 'className': 'fg',
16 | 'tooltip': {
17 | content: function(obj,foo) {
18 | var count=0;
19 | if(data) {
20 | for(var i=0;i0) {
28 | return foo.data.name+" "+count+" reported cases";
29 | } else {
30 | return foo.data.name;
31 | }
32 | }
33 | },
34 | 'key': "iso2"
35 | });
36 |
37 | map.onLayerEvent('click', onCountryClick, 'fg')
38 |
39 | map.addFilter('oglow', 'glow', { size: 3, color: '#988', strength: 1, inner: false });
40 | map.getLayer('bgback').applyFilter('oglow');
41 |
42 | map.addFilter('myglow', 'glow', { size: 2, color: '#945C1B', inner: true });
43 | map.getLayer('bg').applyFilter('myglow');
44 |
45 | colorscale = new chroma.ColorScale({
46 | colors: chroma.brewer.YlGnBu,
47 | limits: chroma.limits(data, 'q', 6, 'w')
48 | });
49 |
50 | if(data) {
51 | map.choropleth({
52 | data: data,
53 | layer: 'fg',
54 | key: 'iso2',
55 | colors: function(d) {
56 | if (d == null) return '#fff';
57 | return colorscale.getColor(d['w']);
58 | },
59 | duration: 0
60 | });
61 | }
62 | });
63 | });
64 | });
65 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/noneditable/editor_plugin_src.js:
--------------------------------------------------------------------------------
1 | /**
2 | * editor_plugin_src.js
3 | *
4 | * Copyright 2009, Moxiecode Systems AB
5 | * Released under LGPL License.
6 | *
7 | * License: http://tinymce.moxiecode.com/license
8 | * Contributing: http://tinymce.moxiecode.com/contributing
9 | */
10 |
11 | (function() {
12 | var Event = tinymce.dom.Event;
13 |
14 | tinymce.create('tinymce.plugins.NonEditablePlugin', {
15 | init : function(ed, url) {
16 | var t = this, editClass, nonEditClass;
17 |
18 | t.editor = ed;
19 | editClass = ed.getParam("noneditable_editable_class", "mceEditable");
20 | nonEditClass = ed.getParam("noneditable_noneditable_class", "mceNonEditable");
21 |
22 | ed.onNodeChange.addToTop(function(ed, cm, n) {
23 | var sc, ec;
24 |
25 | // Block if start or end is inside a non editable element
26 | sc = ed.dom.getParent(ed.selection.getStart(), function(n) {
27 | return ed.dom.hasClass(n, nonEditClass);
28 | });
29 |
30 | ec = ed.dom.getParent(ed.selection.getEnd(), function(n) {
31 | return ed.dom.hasClass(n, nonEditClass);
32 | });
33 |
34 | // Block or unblock
35 | if (sc || ec) {
36 | t._setDisabled(1);
37 | return false;
38 | } else
39 | t._setDisabled(0);
40 | });
41 | },
42 |
43 | getInfo : function() {
44 | return {
45 | longname : 'Non editable elements',
46 | author : 'Moxiecode Systems AB',
47 | authorurl : 'http://tinymce.moxiecode.com',
48 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',
49 | version : tinymce.majorVersion + "." + tinymce.minorVersion
50 | };
51 | },
52 |
53 | _block : function(ed, e) {
54 | var k = e.keyCode;
55 |
56 | // Don't block arrow keys, pg up/down, and F1-F12
57 | if ((k > 32 && k < 41) || (k > 111 && k < 124))
58 | return;
59 |
60 | return Event.cancel(e);
61 | },
62 |
63 | _setDisabled : function(s) {
64 | var t = this, ed = t.editor;
65 |
66 | tinymce.each(ed.controlManager.controls, function(c) {
67 | c.setDisabled(s);
68 | });
69 |
70 | if (s !== t.disabled) {
71 | if (s) {
72 | ed.onKeyDown.addToTop(t._block);
73 | ed.onKeyPress.addToTop(t._block);
74 | ed.onKeyUp.addToTop(t._block);
75 | ed.onPaste.addToTop(t._block);
76 | } else {
77 | ed.onKeyDown.remove(t._block);
78 | ed.onKeyPress.remove(t._block);
79 | ed.onKeyUp.remove(t._block);
80 | ed.onPaste.remove(t._block);
81 | }
82 |
83 | t.disabled = s;
84 | }
85 | }
86 | });
87 |
88 | // Register plugin
89 | tinymce.PluginManager.add('noneditable', tinymce.plugins.NonEditablePlugin);
90 | })();
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/fullpage/langs/en_dlg.js:
--------------------------------------------------------------------------------
1 | tinyMCE.addI18n('en.fullpage_dlg',{
2 | title:"Document properties",
3 | meta_tab:"General",
4 | appearance_tab:"Appearance",
5 | advanced_tab:"Advanced",
6 | meta_props:"Meta information",
7 | langprops:"Language and encoding",
8 | meta_title:"Title",
9 | meta_keywords:"Keywords",
10 | meta_description:"Description",
11 | meta_robots:"Robots",
12 | doctypes:"Doctype",
13 | langcode:"Language code",
14 | langdir:"Language direction",
15 | ltr:"Left to right",
16 | rtl:"Right to left",
17 | xml_pi:"XML declaration",
18 | encoding:"Character encoding",
19 | appearance_bgprops:"Background properties",
20 | appearance_marginprops:"Body margins",
21 | appearance_linkprops:"Link colors",
22 | appearance_textprops:"Text properties",
23 | bgcolor:"Background color",
24 | bgimage:"Background image",
25 | left_margin:"Left margin",
26 | right_margin:"Right margin",
27 | top_margin:"Top margin",
28 | bottom_margin:"Bottom margin",
29 | text_color:"Text color",
30 | font_size:"Font size",
31 | font_face:"Font face",
32 | link_color:"Link color",
33 | hover_color:"Hover color",
34 | visited_color:"Visited color",
35 | active_color:"Active color",
36 | textcolor:"Color",
37 | fontsize:"Font size",
38 | fontface:"Font family",
39 | meta_index_follow:"Index and follow the links",
40 | meta_index_nofollow:"Index and don't follow the links",
41 | meta_noindex_follow:"Do not index but follow the links",
42 | meta_noindex_nofollow:"Do not index and don\'t follow the links",
43 | appearance_style:"Stylesheet and style properties",
44 | stylesheet:"Stylesheet",
45 | style:"Style",
46 | author:"Author",
47 | copyright:"Copyright",
48 | add:"Add new element",
49 | remove:"Remove selected element",
50 | moveup:"Move selected element up",
51 | movedown:"Move selected element down",
52 | head_elements:"Head elements",
53 | info:"Information",
54 | add_title:"Title element",
55 | add_meta:"Meta element",
56 | add_script:"Script element",
57 | add_style:"Style element",
58 | add_link:"Link element",
59 | add_base:"Base element",
60 | add_comment:"Comment node",
61 | title_element:"Title element",
62 | script_element:"Script element",
63 | style_element:"Style element",
64 | base_element:"Base element",
65 | link_element:"Link element",
66 | meta_element:"Meta element",
67 | comment_element:"Comment",
68 | src:"Src",
69 | language:"Language",
70 | href:"Href",
71 | target:"Target",
72 | type:"Type",
73 | charset:"Charset",
74 | defer:"Defer",
75 | media:"Media",
76 | properties:"Properties",
77 | name:"Name",
78 | value:"Value",
79 | content:"Content",
80 | rel:"Rel",
81 | rev:"Rev",
82 | hreflang:"Href lang",
83 | general_props:"General",
84 | advanced_props:"Advanced"
85 | });
--------------------------------------------------------------------------------
/media/js/tinymce/themes/advanced/link.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {#advanced_dlg.link_title}
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
18 |
19 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/templates/base.html:
--------------------------------------------------------------------------------
1 | {% load i18n %}{% load bt %}
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | {% block title %}[!] Respect My Net {% endblock %}
10 |
11 |
12 |
13 |
14 | {% block rss %}
15 | {% endblock %}
16 |
17 | {% block styles %}
18 | {% endblock %}
19 |
20 |
21 |
22 |
47 |
48 |
49 | {% block content %}
50 | {% endblock %}
51 | {% block other_content %}
52 | {% endblock %}
53 |
57 | {% block scripts %}
58 | {% endblock %}
59 |
60 |
61 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/advhr/rule.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {#advhr.advhr_desc}
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
18 |
19 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/media/js/tinymce/plugins/fullpage/editor_plugin.js:
--------------------------------------------------------------------------------
1 | (function(){tinymce.create("tinymce.plugins.FullPagePlugin",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceFullPageProperties",function(){a.windowManager.open({file:b+"/fullpage.htm",width:430+parseInt(a.getLang("fullpage.delta_width",0)),height:495+parseInt(a.getLang("fullpage.delta_height",0)),inline:1},{plugin_url:b,head_html:c.head})});a.addButton("fullpage",{title:"fullpage.desc",cmd:"mceFullPageProperties"});a.onBeforeSetContent.add(c._setContent,c);a.onSetContent.add(c._setBodyAttribs,c);a.onGetContent.add(c._getContent,c)},getInfo:function(){return{longname:"Fullpage",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_setBodyAttribs:function(d,a){var l,c,e,g,b,h,j,f=this.head.match(/body(.*?)>/i);if(f&&f[1]){l=f[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);if(l){for(c=0,e=l.length;c",a);h.head=f.substring(0,a+1);j=f.indexOf(" \n";h.foot="\n