├── __init__.py ├── core ├── __init__.py ├── templates │ ├── contactInfoOk.html │ ├── treemenus │ │ ├── menu.html │ │ └── menu_item.html │ ├── contactInfoError.html │ ├── admin │ │ ├── base_site.html │ │ └── login.html │ ├── index.html │ └── category.html ├── feeds.py ├── forms.py ├── urls.py └── admin.py ├── gallery ├── __init__.py ├── admin.py └── gallerylib.py ├── storage ├── __init__.py ├── admin.py └── storagelib.py ├── treemenus ├── __init__.py ├── templatetags │ ├── __init__.py │ └── tree_menu_tags.py ├── config.py ├── templates │ └── admin │ │ └── treemenus │ │ └── menuitem │ │ ├── object_history.html │ │ ├── delete_confirmation.html │ │ └── change_form.html └── utils.py ├── syntaxhighlight ├── __init__.py ├── external │ ├── __init__.py │ ├── pygments.bashcomp │ └── markdown-processor.py ├── scripts │ ├── __init__.py │ ├── detect_missing_analyse_text.py │ └── get_vimkw.py └── pygments │ ├── styles │ ├── vs.py │ ├── fruity.py │ ├── bw.py │ ├── borland.py │ ├── trac.py │ ├── native.py │ └── vim.py │ ├── console.py │ └── formatters │ └── __init__.py ├── img ├── icons │ ├── ico.png │ ├── empty.png │ ├── file.png │ ├── folder.png │ ├── public.png │ ├── private.png │ └── protected.png ├── images │ ├── ico.png │ ├── link.png │ ├── logo.png │ ├── rss.png │ ├── tab.png │ ├── nav-bg.gif │ ├── nophoto.png │ ├── search.png │ ├── plush-logo.png │ ├── tab_selected.png │ ├── content_footer.png │ └── content_header.png ├── fonts │ └── captcha.ttf ├── js │ ├── fancybox │ │ ├── blank.gif │ │ ├── fancybox-x.png │ │ ├── fancybox-y.png │ │ ├── fancybox.png │ │ ├── fancy_close.png │ │ ├── fancy_loading.png │ │ ├── fancy_nav_left.png │ │ ├── fancy_nav_right.png │ │ ├── fancy_shadow_e.png │ │ ├── fancy_shadow_n.png │ │ ├── fancy_shadow_ne.png │ │ ├── fancy_shadow_nw.png │ │ ├── fancy_shadow_s.png │ │ ├── fancy_shadow_se.png │ │ ├── fancy_shadow_sw.png │ │ ├── fancy_shadow_w.png │ │ ├── fancy_title_left.png │ │ ├── fancy_title_main.png │ │ ├── fancy_title_over.png │ │ ├── fancy_title_right.png │ │ └── jquery.mousewheel-3.0.4.pack.js │ ├── tiny_mce │ │ ├── plugins │ │ │ ├── syntaxhl │ │ │ │ ├── langs │ │ │ │ │ ├── zh.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── zh_dlg.js │ │ │ │ │ ├── en_dlg.js │ │ │ │ │ └── pl_dlg.js │ │ │ │ ├── img │ │ │ │ │ └── highlight.gif │ │ │ │ ├── editor_plugin.js │ │ │ │ ├── js │ │ │ │ │ └── dialog.js │ │ │ │ └── README │ │ │ ├── example │ │ │ │ ├── langs │ │ │ │ │ ├── en.js │ │ │ │ │ └── en_dlg.js │ │ │ │ ├── img │ │ │ │ │ └── example.gif │ │ │ │ ├── js │ │ │ │ │ └── dialog.js │ │ │ │ ├── editor_plugin.js │ │ │ │ └── dialog.htm │ │ │ ├── media │ │ │ │ ├── moxieplayer.swf │ │ │ │ ├── css │ │ │ │ │ └── media.css │ │ │ │ └── js │ │ │ │ │ └── embed.js │ │ │ ├── advimage │ │ │ │ ├── img │ │ │ │ │ └── sample.gif │ │ │ │ ├── css │ │ │ │ │ └── advimage.css │ │ │ │ ├── editor_plugin.js │ │ │ │ ├── langs │ │ │ │ │ ├── pl_dlg.js │ │ │ │ │ └── en_dlg.js │ │ │ │ └── editor_plugin_src.js │ │ │ ├── spellchecker │ │ │ │ ├── img │ │ │ │ │ └── wline.gif │ │ │ │ ├── css │ │ │ │ │ └── content.css │ │ │ │ ├── editor_plugin.js │ │ │ │ └── editor_plugin_src.js │ │ │ ├── advhr │ │ │ │ ├── langs │ │ │ │ │ ├── pl_dlg.js │ │ │ │ │ └── en_dlg.js │ │ │ │ ├── css │ │ │ │ │ └── advhr.css │ │ │ │ ├── editor_plugin.js │ │ │ │ ├── js │ │ │ │ │ └── rule.js │ │ │ │ └── editor_plugin_src.js │ │ │ ├── emotions │ │ │ │ ├── img │ │ │ │ │ ├── smiley-cool.gif │ │ │ │ │ ├── smiley-cry.gif │ │ │ │ │ ├── smiley-kiss.gif │ │ │ │ │ ├── smiley-wink.gif │ │ │ │ │ ├── smiley-yell.gif │ │ │ │ │ ├── smiley-frown.gif │ │ │ │ │ ├── smiley-sealed.gif │ │ │ │ │ ├── smiley-smile.gif │ │ │ │ │ ├── smiley-innocent.gif │ │ │ │ │ ├── smiley-laughing.gif │ │ │ │ │ ├── smiley-surprised.gif │ │ │ │ │ ├── smiley-undecided.gif │ │ │ │ │ ├── smiley-embarassed.gif │ │ │ │ │ ├── smiley-money-mouth.gif │ │ │ │ │ ├── smiley-tongue-out.gif │ │ │ │ │ └── smiley-foot-in-mouth.gif │ │ │ │ ├── langs │ │ │ │ │ ├── pl_dlg.js │ │ │ │ │ └── en_dlg.js │ │ │ │ ├── js │ │ │ │ │ └── emotions.js │ │ │ │ ├── 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 │ │ │ │ │ └── pl_dlg.js │ │ │ │ ├── editor_plugin.js │ │ │ │ └── editor_plugin_src.js │ │ │ ├── table │ │ │ │ ├── css │ │ │ │ │ ├── table.css │ │ │ │ │ ├── cell.css │ │ │ │ │ └── row.css │ │ │ │ ├── js │ │ │ │ │ └── merge_cells.js │ │ │ │ └── merge_cells.htm │ │ │ ├── paste │ │ │ │ ├── langs │ │ │ │ │ ├── en_dlg.js │ │ │ │ │ └── pl_dlg.js │ │ │ │ ├── pasteword.htm │ │ │ │ ├── js │ │ │ │ │ ├── pastetext.js │ │ │ │ │ └── pasteword.js │ │ │ │ └── pastetext.htm │ │ │ ├── xhtmlxtras │ │ │ │ ├── css │ │ │ │ │ ├── attributes.css │ │ │ │ │ └── popup.css │ │ │ │ ├── js │ │ │ │ │ ├── abbr.js │ │ │ │ │ ├── cite.js │ │ │ │ │ ├── acronym.js │ │ │ │ │ ├── del.js │ │ │ │ │ └── ins.js │ │ │ │ └── langs │ │ │ │ │ ├── pl_dlg.js │ │ │ │ │ └── en_dlg.js │ │ │ ├── autosave │ │ │ │ └── langs │ │ │ │ │ └── en.js │ │ │ ├── template │ │ │ │ ├── blank.htm │ │ │ │ ├── css │ │ │ │ │ └── template.css │ │ │ │ ├── langs │ │ │ │ │ ├── pl_dlg.js │ │ │ │ │ └── en_dlg.js │ │ │ │ └── template.htm │ │ │ ├── print │ │ │ │ ├── editor_plugin.js │ │ │ │ └── editor_plugin_src.js │ │ │ ├── advlink │ │ │ │ ├── css │ │ │ │ │ └── advlink.css │ │ │ │ ├── editor_plugin.js │ │ │ │ ├── editor_plugin_src.js │ │ │ │ └── langs │ │ │ │ │ ├── pl_dlg.js │ │ │ │ │ └── en_dlg.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 │ │ │ │ ├── langs │ │ │ │ │ ├── pl_dlg.js │ │ │ │ │ └── en_dlg.js │ │ │ │ └── editor_plugin_src.js │ │ │ ├── nonbreaking │ │ │ │ ├── editor_plugin.js │ │ │ │ └── editor_plugin_src.js │ │ │ ├── autoresize │ │ │ │ └── editor_plugin.js │ │ │ ├── directionality │ │ │ │ └── editor_plugin.js │ │ │ ├── visualchars │ │ │ │ └── editor_plugin.js │ │ │ ├── pagebreak │ │ │ │ └── editor_plugin.js │ │ │ ├── tabfocus │ │ │ │ └── editor_plugin.js │ │ │ ├── noneditable │ │ │ │ └── editor_plugin.js │ │ │ ├── save │ │ │ │ └── editor_plugin.js │ │ │ ├── wordcount │ │ │ │ └── editor_plugin.js │ │ │ ├── insertdatetime │ │ │ │ └── editor_plugin.js │ │ │ ├── legacyoutput │ │ │ │ └── editor_plugin.js │ │ │ ├── autolink │ │ │ │ └── editor_plugin.js │ │ │ └── advlist │ │ │ │ └── editor_plugin.js │ │ └── themes │ │ │ ├── advanced │ │ │ ├── img │ │ │ │ ├── flash.gif │ │ │ │ ├── icons.gif │ │ │ │ ├── trans.gif │ │ │ │ ├── video.gif │ │ │ │ ├── iframe.gif │ │ │ │ ├── pagebreak.gif │ │ │ │ ├── quicktime.gif │ │ │ │ ├── realmedia.gif │ │ │ │ ├── shockwave.gif │ │ │ │ ├── colorpicker.jpg │ │ │ │ └── windowsmedia.gif │ │ │ ├── skins │ │ │ │ ├── default │ │ │ │ │ └── img │ │ │ │ │ │ ├── items.gif │ │ │ │ │ │ ├── tabs.gif │ │ │ │ │ │ ├── buttons.png │ │ │ │ │ │ ├── progress.gif │ │ │ │ │ │ ├── menu_arrow.gif │ │ │ │ │ │ └── menu_check.gif │ │ │ │ ├── o2k7 │ │ │ │ │ ├── img │ │ │ │ │ │ ├── button_bg.png │ │ │ │ │ │ ├── button_bg_black.png │ │ │ │ │ │ └── button_bg_silver.png │ │ │ │ │ ├── ui_silver.css │ │ │ │ │ └── ui_black.css │ │ │ │ └── highcontrast │ │ │ │ │ └── content.css │ │ │ ├── js │ │ │ │ ├── anchor.js │ │ │ │ └── source_editor.js │ │ │ ├── anchor.htm │ │ │ ├── source_editor.htm │ │ │ ├── shortcuts.htm │ │ │ └── langs │ │ │ │ ├── pl_dlg.js │ │ │ │ └── en_dlg.js │ │ │ └── simple │ │ │ ├── img │ │ │ └── icons.gif │ │ │ ├── skins │ │ │ ├── o2k7 │ │ │ │ ├── img │ │ │ │ │ └── button_bg.png │ │ │ │ └── content.css │ │ │ └── default │ │ │ │ ├── content.css │ │ │ │ └── ui.css │ │ │ ├── langs │ │ │ ├── en.js │ │ │ └── pl.js │ │ │ └── editor_template.js │ ├── start_fancybox.js │ ├── jquery │ │ └── jquery.dropdown.js │ ├── mootools │ │ └── mootools.dropdown.js │ ├── scriptaculous │ │ └── scriptaculous.dropdown.js │ ├── dropdownmenu.js │ └── textareas.js ├── menu-style.css └── dropdown.css ├── CHANGELOG ├── urls.py ├── manage.py ├── LICENCE └── processors.py /__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gallery/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /storage/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /treemenus/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /syntaxhighlight/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /syntaxhighlight/external/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /syntaxhighlight/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /treemenus/templatetags/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /treemenus/config.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | APP_LABEL = "treemenus" -------------------------------------------------------------------------------- /img/icons/ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/icons/ico.png -------------------------------------------------------------------------------- /img/icons/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/icons/empty.png -------------------------------------------------------------------------------- /img/icons/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/icons/file.png -------------------------------------------------------------------------------- /img/icons/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/icons/folder.png -------------------------------------------------------------------------------- /img/icons/public.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/icons/public.png -------------------------------------------------------------------------------- /img/images/ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/ico.png -------------------------------------------------------------------------------- /img/images/link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/link.png -------------------------------------------------------------------------------- /img/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/logo.png -------------------------------------------------------------------------------- /img/images/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/rss.png -------------------------------------------------------------------------------- /img/images/tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/tab.png -------------------------------------------------------------------------------- /img/fonts/captcha.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/fonts/captcha.ttf -------------------------------------------------------------------------------- /img/icons/private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/icons/private.png -------------------------------------------------------------------------------- /img/images/nav-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/nav-bg.gif -------------------------------------------------------------------------------- /img/images/nophoto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/nophoto.png -------------------------------------------------------------------------------- /img/images/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/search.png -------------------------------------------------------------------------------- /img/icons/protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/icons/protected.png -------------------------------------------------------------------------------- /img/images/plush-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/plush-logo.png -------------------------------------------------------------------------------- /img/js/fancybox/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/blank.gif -------------------------------------------------------------------------------- /img/images/tab_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/tab_selected.png -------------------------------------------------------------------------------- /img/images/content_footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/content_footer.png -------------------------------------------------------------------------------- /img/images/content_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/images/content_header.png -------------------------------------------------------------------------------- /img/js/fancybox/fancybox-x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancybox-x.png -------------------------------------------------------------------------------- /img/js/fancybox/fancybox-y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancybox-y.png -------------------------------------------------------------------------------- /img/js/fancybox/fancybox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancybox.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_close.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_loading.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_nav_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_nav_left.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_nav_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_nav_right.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_shadow_e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_shadow_e.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_shadow_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_shadow_n.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_shadow_ne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_shadow_ne.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_shadow_nw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_shadow_nw.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_shadow_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_shadow_s.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_shadow_se.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_shadow_se.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_shadow_sw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_shadow_sw.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_shadow_w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_shadow_w.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_title_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_title_left.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_title_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_title_main.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_title_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_title_over.png -------------------------------------------------------------------------------- /img/js/fancybox/fancy_title_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/fancybox/fancy_title_right.png -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/syntaxhl/langs/zh.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('zh.syntaxhl',{ 2 | desc : '用Syntaxhighlighter插入代码' 3 | }); 4 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/example/langs/en.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.example',{ 2 | desc : 'This is just a template button' 3 | }); 4 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/example/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.example_dlg',{ 2 | title : 'This is just a example title' 3 | }); 4 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/media/moxieplayer.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/media/moxieplayer.swf -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/syntaxhl/langs/en.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.syntaxhl',{ 2 | desc : 'Insert code using Syntaxhighlighter' 3 | }); 4 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/syntaxhl/langs/pl.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.syntaxhl',{ 2 | desc : 'Dodawanie kodu przy użyciu pygments' 3 | }); 4 | -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/flash.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/flash.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/icons.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/trans.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/trans.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/video.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/video.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/simple/img/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/simple/img/icons.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/advimage/img/sample.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/advimage/img/sample.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/example/img/example.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/example/img/example.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/iframe.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/iframe.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/spellchecker/img/wline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/spellchecker/img/wline.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/syntaxhl/img/highlight.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/syntaxhl/img/highlight.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/pagebreak.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/pagebreak.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/quicktime.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/quicktime.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/realmedia.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/realmedia.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/shockwave.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/shockwave.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/advhr/langs/pl_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.advhr_dlg',{size:"Wysoko\u015b\u0107",noshade:"Bez cienia",width:"Szeroko\u015b\u0107"}); -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-cool.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-cool.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-cry.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-cry.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-kiss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-kiss.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-wink.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-wink.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-yell.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-yell.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/spellchecker/css/content.css: -------------------------------------------------------------------------------- 1 | .mceItemHiddenSpellWord {background:url(../img/wline.gif) repeat-x bottom left; cursor:default;} 2 | -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/colorpicker.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/colorpicker.jpg -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/img/windowsmedia.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/img/windowsmedia.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-frown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-frown.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-sealed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-sealed.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-smile.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/spellchecker/editor_plugin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/spellchecker/editor_plugin.js -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-innocent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-innocent.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-laughing.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-laughing.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-surprised.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-surprised.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-undecided.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-undecided.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/spellchecker/editor_plugin_src.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/spellchecker/editor_plugin_src.js -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-embarassed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-embarassed.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/default/img/items.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/skins/default/img/items.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/default/img/tabs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/skins/default/img/tabs.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/default/img/buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/skins/default/img/buttons.png -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/default/img/progress.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/skins/default/img/progress.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/default/img/menu_check.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/skins/default/img/menu_check.gif -------------------------------------------------------------------------------- /CHANGELOG: -------------------------------------------------------------------------------- 1 | ==== PlushCMS v0.1.2 (07.08.2011) ==== 2 | - support for Django 1.3, 3 | - category icon is auto scaling now (13px default), 4 | - reedited treemenus help_text arguments. 5 | -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/advhr/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.advhr_dlg',{ 2 | normal:"Normal", 3 | width:"Width", 4 | widthunits:"Units", 5 | size:"Height", 6 | noshade:"No shadow" 7 | }); -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plushcms/PlushCMS/HEAD/img/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/start_fancybox.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | $("a.group").fancybox({ 3 | 'transitionIn' : 'elastic', 4 | 'transitionOut' : 'elastic', 5 | 'speedIn' : 600, 6 | 'speedOut' : 200, 7 | 'overlayShow' : false 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | }); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/paste/langs/pl_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.paste_dlg',{"word_title":"U\u017cyj CTRL+V na swojej klawiaturze \u017ceby wklei\u0107 tekst do okna.","text_linebreaks":"Zachowaj ko\u0144ce linii.","text_title":"U\u017cyj CTRL+V na swojej klawiaturze \u017ceby wklei\u0107 tekst do okna."}); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | }); -------------------------------------------------------------------------------- /core/templates/contactInfoOk.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |

Contact


4 | Your e-mail has been successfully sent. 5 |

Return to homepage

6 | {% endblock %} 7 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | } -------------------------------------------------------------------------------- /core/templates/treemenus/menu.html: -------------------------------------------------------------------------------- 1 | {% load tree_menu_tags %} 2 | 3 | {% if menu.root_item.children %} 4 | 9 | {% endif %} 10 | -------------------------------------------------------------------------------- /core/templates/contactInfoError.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |

Contact


4 | Your e-mail couldn't be sent successfully. Try again later. 5 |

Return to homepage

6 | {% endblock %} 7 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/syntaxhl/langs/zh_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('zh.syntaxhl_dlg',{ 2 | title : '用SyntaxHighlighter插入代码', 3 | highlight_options : '高亮选项', 4 | paste : '粘贴代码', 5 | choose_lang : '选择语言', 6 | nogutter : '无装订线', 7 | light : '精简模式', 8 | collapse : '折叠代码', 9 | fontsize : '字体大小', 10 | first_line : '起始行的值', 11 | highlight : '高亮行' 12 | }); 13 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | }); -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/simple/langs/pl.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.simple',{"cleanup_desc":"Wyczy\u015b\u0107 nieuporz\u0105dkowany kod","redo_desc":"Pon\u00f3w (Ctrl+Y)","undo_desc":"Cofnij (Ctrl+Z)","numlist_desc":"Lista numerowana","bullist_desc":"Lista nienumerowana","striketrough_desc":"Przekre\u015blenie","underline_desc":"Podkre\u015blenie (Ctrl+U)","italic_desc":"Kursywa (Ctrl+I)","bold_desc":"Pogrubienie (Ctrl+B)"}); -------------------------------------------------------------------------------- /urls.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from django.conf.urls.defaults import * 4 | from django.conf import settings 5 | 6 | handler500 = "plushcms.core.views.error500" 7 | handler404 = "plushcms.core.views.error404" 8 | 9 | urlpatterns = patterns("", 10 | url(r"", include("plushcms.core.urls")), 11 | url(r"img/(?P.*)$", "django.views.static.serve", {"document_root" : settings.MEDIA_ROOT}), 12 | ) 13 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/template/blank.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | blank_page 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/syntaxhl/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.syntaxhl_dlg',{ 2 | title : 'Insert code using SyntaxHighlighter', 3 | highlight_options : 'Highlighter Options', 4 | paste : 'Paste Code', 5 | choose_lang : 'Choose Language', 6 | nogutter : 'No Gutter', 7 | light : 'Light', 8 | collapse : 'Collapse', 9 | fontsize : 'Font size', 10 | first_line : 'First line', 11 | highlight : 'Highlight' 12 | }); 13 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/syntaxhl/langs/pl_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.syntaxhl_dlg',{ 2 | title : 'odawanie kodu przy użyciu pygments', 3 | highlight_options : 'Opcje podświetlania', 4 | paste : 'Wklej kod', 5 | choose_lang : 'Wybór języka', 6 | nogutter : 'No Gutter', 7 | light : 'Podświetlenie', 8 | collapse : 'Zwiń', 9 | fontsize : 'Rozmiar czcionki', 10 | first_line : 'Pierwsza linia', 11 | highlight : 'Kolorowanie' 12 | }); 13 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /core/templates/admin/base_site.html: -------------------------------------------------------------------------------- 1 | {% extends "admin/base.html" %} 2 | {% load i18n %} 3 | 4 | {% block title %} 5 | {{ title }} | {% trans "PlushCMS v0.1.2" %} 6 | {% endblock %} 7 | 8 | {% block branding %} 9 |

{% trans "PlushCMS v0.1.2" %}

10 | {% endblock %} 11 | 12 | {% block nav-global %}{% endblock %} 13 | -------------------------------------------------------------------------------- /img/js/jquery/jquery.dropdown.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | 3 | $("ul.dropdown li").dropdown(); 4 | 5 | }); 6 | 7 | $.fn.dropdown = function() { 8 | 9 | $(this).hover(function(){ 10 | $(this).addClass("hover"); 11 | $('> .dir',this).addClass("open"); 12 | $('ul:first',this).css('visibility', 'visible'); 13 | },function(){ 14 | $(this).removeClass("hover"); 15 | $('.open',this).removeClass("open"); 16 | $('ul:first',this).css('visibility', 'hidden'); 17 | }); 18 | 19 | } -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/emotions/langs/pl_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.emotions_dlg',{cry:"P\u0142acz",cool:"Wyluzowany",desc:"Emotikony",title:"Wstaw emotikon\u0119",yell:"Krzyk",wink:"Mrugni\u0119cie",undecided:"Niezdecydowany","tongue_out":"Wystawiony j\u0119zyk",surprised:"Zaskoczony",smile:"U\u015bmiech",sealed:"Zaklepany","money_mouth":"Zaanga\u017cowany",laughing:"\u015amiech",kiss:"Poca\u0142unek",innocent:"Niewinny",frown:"Dezaprobata","foot_in_mouth":"Niewyparzona g\u0119ba",embarassed:"Zmieszany"}); -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | }); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | }); -------------------------------------------------------------------------------- /img/js/mootools/mootools.dropdown.js: -------------------------------------------------------------------------------- 1 | window.addEvent('load', function() { 2 | var items = document.getElementById("nav").getElementsByTagName("li"); 3 | for (var i=0; i{{ menu_item.caption }} 5 | 10 | 11 | {% else %} 12 | {% if request.path == menu_item.url %} 13 |
  • {{ menu_item.caption }}
  • 14 | {% else %} 15 |
  • {{ menu_item.caption }}
  • 16 | {% endif %} 17 | {% endif %} 18 | -------------------------------------------------------------------------------- /core/feeds.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from plushcms.core.models import News 4 | 5 | from django.contrib.syndication.views import Feed 6 | 7 | class RSS(Feed): 8 | title = "PlushCMS v0.1.2" 9 | link = "/" 10 | description = "PlushCMS v0.1.2 - CMS system written in Python and Django" 11 | 12 | def items(self): 13 | numberOfNews = 10 14 | 15 | return News.objects.all().filter(isDraft = False)[:numberOfNews] 16 | 17 | def item_title(self, item): 18 | return item.title 19 | 20 | def item_pubdate(self, item): 21 | return item.datetime 22 | 23 | def item_description(self, item): 24 | return item.text 25 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/template/langs/pl_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.template_dlg',{title:"Szablony",label:"Szablon","desc_label":"Opis",desc:"Wstaw tre\u015b\u0107 szablonu",select:"Wybierz szablon",preview:"Podgl\u0105d",warning:"Uwaga: Aktualizacja szablon\u00f3w mo\u017ce spowodowa\u0107 utrat\u0119 danych.","mdate_format":"%Y-%m-%d %H:%M:%S","cdate_format":"%Y-%m-%d %H:%M:%S","months_long":"Stycze\u0144,Luty,Marzec.Kwiecie\u0144,Maj,Czerwiec,Lipiec,Sierpie\u0144,Wrzesie\u0144,Pa\u017adziernik,Listopad,Grudzie\u0144","months_short":"Sty,Lut,Mar,Kwi,Maj,Cze,Lip,Sie,Wrz,Pa\u017a,Lis,Gru","day_long":"Niedziela,Poniedzia\u0142ek,Wtorek,\u015aroda,Czwartek,Pi\u0105tek,Sobota,Niedziela","day_short":"N,Pn,Wt,\u015ar,Cz,Pt,So,N"}); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/preview/preview.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10 | {#preview.preview_desc} 11 | 12 | 13 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | }); -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2011 Piotr Tynecki, Paweł Topór 2 | 3 | This file is part of PlushCMS. 4 | 5 | PlushCMS is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | PlushCMS is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with PlushCMS. If not, see . 17 | -------------------------------------------------------------------------------- /img/js/dropdownmenu.js: -------------------------------------------------------------------------------- 1 | var timeout = 500; 2 | var closetimer = 0; 3 | var ddmenuitem = 0; 4 | 5 | function jsddm_open() 6 | { jsddm_canceltimer(); 7 | jsddm_close(); 8 | ddmenuitem = $(this).find('ul').css('visibility', 'visible');} 9 | 10 | function jsddm_close() 11 | { if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');} 12 | 13 | function jsddm_timer() 14 | { closetimer = window.setTimeout(jsddm_close, timeout);} 15 | 16 | function jsddm_canceltimer() 17 | { if(closetimer) 18 | { window.clearTimeout(closetimer); 19 | closetimer = null;}} 20 | 21 | $(document).ready(function() 22 | { $('#jsddm > li').bind('mouseover', jsddm_open) 23 | $('#jsddm > li').bind('mouseout', jsddm_timer)}); 24 | 25 | document.onclick = jsddm_close; 26 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/menu-style.css: -------------------------------------------------------------------------------- 1 | * { 2 | padding: 0; 3 | margin: 0; 4 | } 5 | 6 | #navi { 7 | float: right; 8 | font: 11px verdana, arial, sans; 9 | background: #534E4E; 10 | } 11 | 12 | #navi li a { 13 | display: block; 14 | color: #FFFFFF; 15 | text-decoration: none; 16 | padding: 10px 20px; 17 | height: 15px; 18 | } 19 | 20 | #navi li.selected a { 21 | background: #E2E5D2; 22 | color: #000000; 23 | } 24 | 25 | #navi li a:hover, #navi li a.hover { 26 | background: #E2E5D2; 27 | color: #000000; 28 | } 29 | 30 | #navi li ul { 31 | background: #4d4d4d; 32 | } 33 | 34 | #navi li li a { 35 | width: 100px; 36 | background: #4d4d4d; 37 | } 38 | 39 | #navi li li a:hover { 40 | background: #E2E5D2; 41 | } 42 | -------------------------------------------------------------------------------- /treemenus/templates/admin/treemenus/menuitem/object_history.html: -------------------------------------------------------------------------------- 1 | {% extends "admin/object_history.html" %} 2 | {% load i18n %} 3 | 4 | {% block extrahead %}{{ block.super.super }} 5 | 6 | {{ media }} 7 | {% endblock %} 8 | 9 | {% block breadcrumbs %} 10 | 18 | {% endblock %} -------------------------------------------------------------------------------- /treemenus/templates/admin/treemenus/menuitem/delete_confirmation.html: -------------------------------------------------------------------------------- 1 | {% extends "admin/delete_confirmation.html" %} 2 | {% load i18n %} 3 | 4 | {% block extrahead %}{{ block.super.super }} 5 | 6 | {{ media }} 7 | {% endblock %} 8 | 9 | {% block breadcrumbs %} 10 | 18 | {% endblock %} -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /gallery/admin.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from django.contrib import admin 4 | 5 | from plushcms.gallery.models import Albums 6 | from plushcms.gallery.models import Photos 7 | 8 | from plushcms.gallery.gallerylib import deleteSelectedAlbums 9 | from plushcms.gallery.gallerylib import deleteSelectedPhotos 10 | 11 | class Albums_Admin(admin.ModelAdmin): 12 | list_display = ("title", "mod") 13 | list_filter = ["selectedModule",] 14 | actions = [deleteSelectedAlbums] 15 | 16 | class Photos_Admin(admin.ModelAdmin): 17 | list_display = ("parent", "showAlbumAccessModifiers", "showPhotoName", "showPhotoAccessModifiers", "photoSize", "showPhotoMin") 18 | list_filter = ["selectedModule",] 19 | actions = [deleteSelectedPhotos] 20 | 21 | admin.site.register(Albums, Albums_Admin) 22 | admin.site.register(Photos, Photos_Admin) 23 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /storage/admin.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from django.contrib import admin 4 | 5 | from plushcms.storage.models import Directories 6 | from plushcms.storage.models import Files 7 | 8 | from plushcms.storage.storagelib import deleteSelectedDirectories 9 | from plushcms.storage.storagelib import deleteSelectedFiles 10 | 11 | class Directories_Admin(admin.ModelAdmin): 12 | list_display = ("title", "mod") 13 | list_filter = ["selectedModule",] 14 | actions = [deleteSelectedDirectories] 15 | 16 | class Files_Admin(admin.ModelAdmin): 17 | list_display = ("parent", "showDirectoryAccessModifiers", "showFileName", "showFileAccessModifiers", "fileSize", "showFileAddress") 18 | list_filter = ["selectedModule",] 19 | actions = [deleteSelectedFiles] 20 | 21 | admin.site.register(Directories, Directories_Admin) 22 | admin.site.register(Files, Files_Admin) 23 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 td.mceToolbar, .o2k7SkinSilver td.mceStatusbar, .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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /syntaxhighlight/scripts/detect_missing_analyse_text.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | from pygments.lexers import get_all_lexers, find_lexer_class 4 | from pygments.lexer import Lexer 5 | 6 | def main(): 7 | uses = {} 8 | 9 | for name, aliases, filenames, mimetypes in get_all_lexers(): 10 | cls = find_lexer_class(name) 11 | for f in filenames: 12 | if f not in uses: 13 | uses[f] = [] 14 | uses[f].append(cls) 15 | 16 | ret = 0 17 | for k, v in uses.iteritems(): 18 | if len(v) > 1: 19 | #print "Multiple for", k, v 20 | for i in v: 21 | if i.analyse_text is None: 22 | print i, "has a None analyse_text" 23 | ret |= 1 24 | elif Lexer.analyse_text.__doc__ == i.analyse_text.__doc__: 25 | print i, "needs analyse_text, multiple lexers for", k 26 | ret |= 2 27 | return ret 28 | 29 | if __name__ == '__main__': 30 | sys.exit(main()) 31 | -------------------------------------------------------------------------------- /treemenus/templates/admin/treemenus/menuitem/change_form.html: -------------------------------------------------------------------------------- 1 | {% extends "admin/change_form.html" %} 2 | {% load i18n %} 3 | 4 | {% block extrahead %}{{ block.super.super }} 5 | 6 | {{ media }} 7 | {% endblock %} 8 | 9 | {% block breadcrumbs %} 10 | 24 | {% endblock %} -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/searchreplace/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.SearchReplacePlugin",{init:function(a,c){function b(d){window.focus();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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/syntaxhl/editor_plugin.js: -------------------------------------------------------------------------------- 1 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(4(){5.b.Y(\'3\');5.X(\'5.9.8\',{W:4(2,6){2.V(\'g\',4(){2.U.T({S:6+\'/R.Q\',P:O+i(2.h(\'3.N\',0)),M:L+i(2.h(\'3.K\',0)),J:1},{I:6})});2.H(\'3\',{G:\'3.F\',E:\'g\',D:6+\'/C/B.A\'});2.z.a(4(2,7,n){7.y(\'3\',n.x==\'w\')})},v:4(n,7){f u},t:4(){f{s:\'r q\',p:\'o m\',l:\'e://d.c\',k:\'e://d.c\',j:"1.0"}}});5.b.a(\'3\',5.9.8)})();',61,61,'||ed|syntaxhl|function|tinymce|url|cm|SyntaxHL|plugins|add|PluginManager|com|27smiles|http|return|mceSyntaxHL|getLang|parseInt|version|infourl|authorurl|Grundy||Richard|author|Highlighter|Syntax|longname|getInfo|null|createControl|IMG|nodeName|setActive|onNodeChange|gif|highlight|img|image|cmd|desc|title|addButton|plugin_url|inline|delta_height|400|height|delta_width|450|width|htm|dialog|file|open|windowManager|addCommand|init|create|requireLangPack'.split('|'),0,{})) -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/xhtmlxtras/langs/pl_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.xhtmlxtras_dlg',{"attribs_title":"Wklej/edytuj atrybuty","option_rtl":"Kierunek z prawej do lewej","option_ltr":"Kierunek z lewej do prawej","insert_date":"Wklej aktualn\u0105 dat\u0119/czas",remove:"Usu\u0144","title_cite_element":"Cytat","title_abbr_element":"Skr\u00f3t","title_acronym_element":"Akronim","title_del_element":"Usuni\u0119cie","title_ins_element":"Wstawienie","fieldset_events_tab":"Zdarzenia","fieldset_attrib_tab":"Atrybuty","fieldset_general_tab":"G\u0142\u00f3wne ustawienia","events_tab":"Wydarzenia","attrib_tab":"Atrybuty","general_tab":"G\u0142wny","attribute_attrib_tab":"Atrybuty","attribute_events_tab":"Wydarzenia","attribute_label_accesskey":"Klawisz skr\u00f3tu","attribute_label_tabindex":"Numer tabulacji","attribute_label_langcode":"J\u0119zyk","attribute_option_rtl":"Kierunek z prawej do lewej","attribute_option_ltr":"Kierunek z lewej do prawej","attribute_label_langdir":"Kierunek czytania tekstu","attribute_label_datetime":"Data/Czas","attribute_label_cite":"Cytat","attribute_label_style":"Styl","attribute_label_class":"Klasa","attribute_label_id":"ID","attribute_label_title":"Tytu\u0142"}); -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/highcontrast/content.css: -------------------------------------------------------------------------------- 1 | body, td, pre { margin:8px;} 2 | body.mceForceColors {background:#FFF; color:#000;} 3 | h1 {font-size: 2em} 4 | h2 {font-size: 1.5em} 5 | h3 {font-size: 1.17em} 6 | h4 {font-size: 1em} 7 | h5 {font-size: .83em} 8 | h6 {font-size: .75em} 9 | .mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} 10 | a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(../default/img/items.gif) no-repeat 0 0;} 11 | span.mceItemNbsp {background: #DDD} 12 | td.mceSelected, th.mceSelected {background-color:#3399ff !important} 13 | img {border:0;} 14 | table {cursor:default} 15 | table td, table th {cursor:text} 16 | ins {border-bottom:1px solid green; text-decoration: none; color:green} 17 | del {color:red; text-decoration:line-through} 18 | cite {border-bottom:1px dashed blue} 19 | acronym {border-bottom:1px dotted #CCC; cursor:help} 20 | abbr {border-bottom:1px dashed #CCC; cursor:help} 21 | 22 | img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} 23 | font[face=mceinline] {font-family:inherit !important} 24 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | if (!name || !/^[a-z][a-z0-9\-\_:\.]*$/i.test(name)) { 23 | tinyMCEPopup.alert('advanced_dlg.anchor_invalid'); 24 | return; 25 | } 26 | 27 | tinyMCEPopup.restoreSelection(); 28 | 29 | if (this.action != 'update') 30 | ed.selection.collapse(1); 31 | 32 | elm = ed.dom.getParent(ed.selection.getNode(), 'A'); 33 | if (elm) 34 | elm.name = name; 35 | else 36 | ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : name, 'class' : 'mceItemAnchor'}, '')); 37 | 38 | tinyMCEPopup.close(); 39 | } 40 | }; 41 | 42 | tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog); 43 | -------------------------------------------------------------------------------- /syntaxhighlight/external/pygments.bashcomp: -------------------------------------------------------------------------------- 1 | #!bash 2 | # 3 | # Bash completion support for Pygments (the 'pygmentize' command). 4 | # 5 | 6 | _pygmentize() 7 | { 8 | local cur prev 9 | 10 | COMPREPLY=() 11 | cur=`_get_cword` 12 | prev=${COMP_WORDS[COMP_CWORD-1]} 13 | 14 | case "$prev" in 15 | -f) 16 | FORMATTERS=`pygmentize -L formatters | grep '* ' | cut -c3- | sed -e 's/,//g' -e 's/:$//'` 17 | COMPREPLY=( $( compgen -W '$FORMATTERS' -- "$cur" ) ) 18 | return 0 19 | ;; 20 | -l) 21 | LEXERS=`pygmentize -L lexers | grep '* ' | cut -c3- | sed -e 's/,//g' -e 's/:$//'` 22 | COMPREPLY=( $( compgen -W '$LEXERS' -- "$cur" ) ) 23 | return 0 24 | ;; 25 | -S) 26 | STYLES=`pygmentize -L styles | grep '* ' | cut -c3- | sed s/:$//` 27 | COMPREPLY=( $( compgen -W '$STYLES' -- "$cur" ) ) 28 | return 0 29 | ;; 30 | esac 31 | 32 | if [[ "$cur" == -* ]]; then 33 | COMPREPLY=( $( compgen -W '-f -l -S -L -g -O -P -F \ 34 | -N -H -h -V -o' -- "$cur" ) ) 35 | return 0 36 | fi 37 | } 38 | complete -F _pygmentize -o default pygmentize 39 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | }); -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/anchor.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {#advanced_dlg.anchor_title} 5 | 6 | 7 | 8 | 9 |
    10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
    {#advanced_dlg.anchor_title}
    19 | 20 |
    21 | 22 | 23 |
    24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /gallery/gallerylib.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from plushcms.settings import MEDIA_GALLERY 4 | 5 | from os import chmod 6 | 7 | # Delete selected albums in Admin Panel 8 | def deleteSelectedAlbums(modeladmin, request, queryset): 9 | [chmod("%s/%s" % (MEDIA_GALLERY, x.directory), 0755) for x in queryset] 10 | [x.delete() for x in queryset] 11 | 12 | numberOfDeleted = len(queryset) 13 | 14 | if numberOfDeleted == 1: 15 | info = "Deleted 1 album." 16 | else: 17 | info = "Deleted %d albums." % numberOfDeleted 18 | 19 | modeladmin.message_user(request, info) 20 | 21 | deleteSelectedAlbums.short_description = "Delete selected albums" 22 | 23 | # Delete selected photos in Admin Panel 24 | def deleteSelectedPhotos(modeladmin, request, queryset): 25 | [x.delete() for x in queryset] 26 | 27 | numberOfDeleted = len(queryset) 28 | 29 | if numberOfDeleted == 1: 30 | info = "Deleted 1 photo." 31 | else: 32 | info = "Deleted %d photos." % numberOfDeleted 33 | 34 | modeladmin.message_user(request, info) 35 | 36 | deleteSelectedPhotos.short_description = "Delete selected photos" 37 | 38 | # Define the upload_to option 39 | def getAlbumUploadPath(instance, filename): 40 | return "%s/%s/%s" % ("photoGallery", instance.parent.directory, filename) 41 | -------------------------------------------------------------------------------- /img/dropdown.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /** 4 | * Horizontal CSS Drop-Down Menu Module 5 | * 6 | * @file dropdown.css 7 | * @package Dropdown 8 | * @version 0.7.1 9 | * @type Transitional 10 | * @stacks 597-599 11 | * @browsers Windows: IE6+, Opera7+, Firefox1+ 12 | * Mac OS: Safari2+, Firefox2+ 13 | * 14 | * @link http://www.lwis.net/ 15 | * @copyright 2006-2008 Live Web Institute. All Rights Reserved. 16 | * 17 | */ 18 | 19 | ul.dropdown, 20 | ul.dropdown li, 21 | ul.dropdown ul { 22 | list-style: none; 23 | margin: 0; 24 | padding: 0; 25 | } 26 | 27 | ul.dropdown { 28 | position: relative; 29 | z-index: 597; 30 | float: left; 31 | } 32 | 33 | ul.dropdown li { 34 | float: left; 35 | line-height: 1.3em; 36 | vertical-align: middle; 37 | zoom: 1; 38 | } 39 | 40 | ul.dropdown li.hover, 41 | ul.dropdown li:hover { 42 | position: relative; 43 | z-index: 599; 44 | cursor: default; 45 | } 46 | 47 | ul.dropdown ul { 48 | visibility: hidden; 49 | position: absolute; 50 | top: 100%; 51 | left: 0; 52 | z-index: 598; 53 | width: 100%; 54 | } 55 | 56 | ul.dropdown ul li { 57 | float: none; 58 | } 59 | 60 | ul.dropdown ul ul { 61 | top: 1px; 62 | left: 99%; 63 | } 64 | 65 | ul.dropdown li:hover > ul { 66 | visibility: visible; 67 | } -------------------------------------------------------------------------------- /syntaxhighlight/pygments/styles/vs.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | plushcms.syntaxhighlight.pygments.styles.vs 4 | ~~~~~~~~~~~~~~~~~~ 5 | 6 | Simple style with MS Visual Studio colors. 7 | 8 | :copyright: Copyright 2006-2010 by the Pygments team, see AUTHORS. 9 | :license: BSD, see LICENSE for details. 10 | """ 11 | 12 | from plushcms.syntaxhighlight.pygments.style import Style 13 | from plushcms.syntaxhighlight.pygments.token import Keyword, Name, Comment, String, Error, \ 14 | Operator, Generic 15 | 16 | 17 | class VisualStudioStyle(Style): 18 | 19 | background_color = "#ffffff" 20 | default_style = "" 21 | 22 | styles = { 23 | Comment: "#008000", 24 | Comment.Preproc: "#0000ff", 25 | Keyword: "#0000ff", 26 | Operator.Word: "#0000ff", 27 | Keyword.Type: "#2b91af", 28 | Name.Class: "#2b91af", 29 | String: "#a31515", 30 | 31 | Generic.Heading: "bold", 32 | Generic.Subheading: "bold", 33 | Generic.Emph: "italic", 34 | Generic.Strong: "bold", 35 | Generic.Prompt: "bold", 36 | 37 | Error: "border:#FF0000" 38 | } 39 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/autoresize/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this,e=0;if(a.getParam("fullscreen_is_enabled")){return}function b(){var i=a.getDoc(),f=i.body,k=i.documentElement,h=tinymce.DOM,j=d.autoresize_min_height,g;g=tinymce.isIE?f.scrollHeight:k.offsetHeight;g=d.bottom_margin+g;if(g>d.autoresize_min_height){j=g}if(j!==e){h.setStyle(h.get(a.id+"_ifr"),"height",j+"px");e=j}if(d.throbbing){a.setProgressState(false);a.setProgressState(true)}}d.editor=a;d.autoresize_min_height=a.getElement().offsetHeight;d.bottom_margin=parseInt(a.getParam("autoresize_bottom_margin",50));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(g,f){g.setProgressState(true);d.throbbing=true;g.getBody().style.overflowY="hidden"});a.onLoadContent.add(function(g,f){b();setTimeout(function(){b();g.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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/paste/pastetext.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | {#paste.paste_text_desc} 4 | 5 | 6 | 7 | 8 |
    9 |
    {#paste.paste_text_desc}
    10 | 11 |
    12 | 13 |
    14 | 15 |
    16 | 17 |
    {#paste_dlg.text_title}
    18 | 19 | 20 | 21 |
    22 | 23 | 24 |
    25 |
    26 | 27 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /storage/storagelib.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from plushcms.settings import MEDIA_STORAGE 4 | 5 | from os import chmod 6 | 7 | # Delete selected directories in Admin Panel 8 | def deleteSelectedDirectories(modeladmin, request, queryset): 9 | [chmod("%s/%s" % (MEDIA_STORAGE, x.directory), 0755) for x in queryset] 10 | [x.delete() for x in queryset] 11 | 12 | numberOfDeleted = len(queryset) 13 | 14 | if numberOfDeleted == 1: 15 | info = "Deleted 1 directory." 16 | else: 17 | info = "Deleted %d directories." % numberOfDeleted 18 | 19 | modeladmin.message_user(request, info) 20 | 21 | deleteSelectedDirectories.short_description = "Delete selected directories" 22 | 23 | # Delete selected files in Admin Panel 24 | def deleteSelectedFiles(modeladmin, request, queryset): 25 | [x.delete() for x in queryset] 26 | 27 | numberOfDeleted = len(queryset) 28 | 29 | if numberOfDeleted == 1: 30 | info = "Deleted 1 file." 31 | else: 32 | info = "Deleted %d files." % numberOfDeleted 33 | 34 | modeladmin.message_user(request, info) 35 | 36 | deleteSelectedFiles.short_description = "Delete selected files" 37 | 38 | # Define the upload_to option 39 | def getDirectoryUploadPath(instance, filename): 40 | return "%s/%s/%s" % (MEDIA_STORAGE, instance.parent.directory, filename) 41 | -------------------------------------------------------------------------------- /img/js/fancybox/jquery.mousewheel-3.0.4.pack.js: -------------------------------------------------------------------------------- 1 | /*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net) 2 | * Licensed under the MIT License (LICENSE.txt). 3 | * 4 | * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. 5 | * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. 6 | * Thanks to: Seamus Leahy for adding deltaX and deltaY 7 | * 8 | * Version: 3.0.4 9 | * 10 | * Requires: 1.2.2+ 11 | */ 12 | 13 | (function(d){function g(a){var b=a||window.event,i=[].slice.call(arguments,1),c=0,h=0,e=0;a=d.event.fix(b);a.type="mousewheel";if(a.wheelDelta)c=a.wheelDelta/120;if(a.detail)c=-a.detail/3;e=c;if(b.axis!==undefined&&b.axis===b.HORIZONTAL_AXIS){e=0;h=-1*c}if(b.wheelDeltaY!==undefined)e=b.wheelDeltaY/120;if(b.wheelDeltaX!==undefined)h=-1*b.wheelDeltaX/120;i.unshift(a,c,h,e);return d.event.handle.apply(this,i)}var f=["DOMMouseScroll","mousewheel"];d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a= 14 | f.length;a;)this.addEventListener(f[--a],g,false);else this.onmousewheel=g},teardown:function(){if(this.removeEventListener)for(var a=f.length;a;)this.removeEventListener(f[--a],g,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); -------------------------------------------------------------------------------- /img/js/tiny_mce/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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/source_editor.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | {#advanced_dlg.code_title} 4 | 5 | 6 | 7 | 8 |
    9 |
    10 | 11 |
    12 | 13 |
    14 | 15 |
    16 | 17 | 18 | 19 |
    20 | 21 | 22 |
    23 |
    24 | 25 | 26 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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.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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/advimage/langs/pl_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.advimage_dlg',{"image_list":"Lista obrazk\u00f3w","align_right":"Prawy","align_left":"Lewy","align_textbottom":"Tekst dolny","align_texttop":"Tekst g\u00f3rny","align_bottom":"Dolny","align_middle":"\u015arodkowy","align_top":"G\u00f3rny","align_baseline":"G\u0142\u00f3wna linia",align:"Wyr\u00f3wnanie",hspace:"Odst\u0119p poziomy",vspace:"Odst\u0119p pionowy",dimensions:"Rozmiary",border:"Obramowanie",list:"Lista obrazk\u00f3w",alt:"Opis obrazka",src:"URL obrazka","dialog_title":"Wklej/edytuj obraz","missing_alt":"Czy jeste\u015b pewien, \u017ce chcesz kontynuowa\u0107 bez opisu obrazka? Obrazek bez opisu mo\u017ce nie by\u0107 dost\u0119pny dla u\u017cytkownik\u00f3w u\u017cywaj\u0105cych tekstowe przegl\u0105darki lub przegl\u0105daj\u0105cych stron\u0119 z wy\u0142\u0105czonymi obrazkami.","example_img":"Podgl\u0105d wygl\u0105du obrazka",misc:"R\u00f3\u017cne",mouseout:"dla mouseout",mouseover:"dla mouseover","alt_image":"alternatywny obrazek","swap_image":"Zamiana obrazka",map:"Mapa obrazu",id:"Id",rtl:"Z prawej do lewej",ltr:"Z lewej do prawej",classes:"Klasy",style:"Styl","long_desc":"D\u0142ugi opis linku",langcode:"Kod j\u0119zyka",langdir:"Kierunek j\u0119zyka","constrain_proportions":"Zachowaj proporcje",preview:"Podgl\u0105d",title:"Tytu\u0142",general:"Og\u00f3lne","tab_advanced":"Zaawansowane","tab_appearance":"Wygl\u0105d","tab_general":"Og\u00f3lne"}); -------------------------------------------------------------------------------- /syntaxhighlight/scripts/get_vimkw.py: -------------------------------------------------------------------------------- 1 | import re 2 | from pprint import pprint 3 | 4 | r_line = re.compile(r"^(syn keyword vimCommand contained|syn keyword vimOption " 5 | r"contained|syn keyword vimAutoEvent contained)\s+(.*)") 6 | r_item = re.compile(r"(\w+)(?:\[(\w+)\])?") 7 | 8 | def getkw(input, output): 9 | out = file(output, 'w') 10 | 11 | output_info = {'command': [], 'option': [], 'auto': []} 12 | for line in file(input): 13 | m = r_line.match(line) 14 | if m: 15 | # Decide which output gets mapped to d 16 | if 'vimCommand' in m.group(1): 17 | d = output_info['command'] 18 | elif 'AutoEvent' in m.group(1): 19 | d = output_info['auto'] 20 | else: 21 | d = output_info['option'] 22 | 23 | # Extract all the shortened versions 24 | for i in r_item.finditer(m.group(2)): 25 | d.append((i.group(1), "%s%s" % (i.group(1), i.group(2) or ''))) 26 | d.sort() 27 | 28 | for a, b in output_info.items(): 29 | print >>out, '%s=%r' % (a, b) 30 | 31 | def is_keyword(w, keywords): 32 | for i in range(len(w), 0, -1): 33 | if w[:i] in keywords: 34 | return signals[w[:i]][:len(w)] == w 35 | return False 36 | 37 | if __name__ == "__main__": 38 | getkw("/usr/share/vim/vim70/syntax/vim.vim", "temp.py") 39 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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(r){n=c.select(":input:enabled,*[tabindex]");function i(s){return s.type!="hidden"&&s.tabIndex!="-1"&&!(n[m].style.display=="none")&&!(n[m].style.visibility=="hidden")}d(n,function(t,s){if(t.id==l.id){j=s;return false}});if(r>0){for(m=j+1;m=0;m--){if(i(n[m])){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(n.id&&(l=tinymce.get(n.id||n.name))){l.focus()}else{window.setTimeout(function(){if(!tinymce.isWebKit){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)}},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)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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); -------------------------------------------------------------------------------- /img/js/tiny_mce/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, #html5_altsource1, #html5_altsource2, #html5_poster { 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: 260px; overflow: auto } 9 | .panel_wrapper div.current { height: 420px; 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 | iframe {border: 1px solid gray} 18 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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);b.onContextMenu.addToTop(c._block)}else{b.onKeyDown.remove(c._block);b.onKeyPress.remove(c._block);b.onKeyUp.remove(c._block);b.onPaste.remove(c._block);b.onContextMenu.remove(c._block)}c.disabled=d}}});tinymce.PluginManager.add("noneditable",tinymce.plugins.NonEditablePlugin)})(); -------------------------------------------------------------------------------- /processors.py: -------------------------------------------------------------------------------- 1 | #-*- coding: utf-8 -*- 2 | 3 | from plushcms.core.models import News 4 | from plushcms.core.models import NewsCategory 5 | from plushcms.core.models import Links 6 | from plushcms.core.models import Partners 7 | from plushcms.core.forms import SearchForm 8 | 9 | from sys import version 10 | from django import get_version 11 | from settings import PLUSH_VERSION 12 | from settings import UPDATE_DATE 13 | 14 | def showTopNews(request): 15 | part = 5 16 | topNews = News.objects.all().filter(isHeadline = True).filter(isDraft = False)[:part] 17 | 18 | return {"topNews" : topNews, "partOfTopNews" : topNews.count()} 19 | 20 | def showCategories(request): 21 | return {"categories" : NewsCategory.objects.all(), "numberOfCategories" : NewsCategory.objects.count()} 22 | 23 | def showLinks(request): 24 | return {"links" : Links.objects.all(), "numberOfLinks" : Links.objects.count()} 25 | 26 | def showPartners(request): 27 | return {"partners" : Partners.objects.all(), "numberOfPartners" : Partners.objects.count()} 28 | 29 | def showSearchForm(request): 30 | return {"search" : SearchForm()} 31 | 32 | def showSystemDetails(request): 33 | pythonVersion = version.split()[0] 34 | djangoVersion = get_version() 35 | plushcmsVersion = PLUSH_VERSION 36 | update = UPDATE_DATE 37 | 38 | return {"pythonVersion" : pythonVersion, "djangoVersion" : djangoVersion, "plushcmsVersion": plushcmsVersion, "update" : update} 39 | -------------------------------------------------------------------------------- /core/forms.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from django import forms 4 | 5 | from plushcms.core.models import Comments 6 | 7 | class SearchForm(forms.Form): 8 | """Search form field""" 9 | phrase = forms.CharField(widget = forms.TextInput(attrs = {"class" : "search"})) 10 | 11 | def __str__(self): 12 | return str(self.phrase) 13 | 14 | def __unicode__(self): 15 | return unicode(self.phrase) 16 | 17 | class ContactForm(forms.Form): 18 | """Contact form field""" 19 | nick = forms.CharField(max_length = 30, widget = forms.TextInput(attrs = {"class" : "search"})) 20 | email = forms.EmailField(widget = forms.TextInput(attrs = {"class" : "search"})) 21 | topic = forms.CharField(max_length = 100, widget = forms.TextInput(attrs = {"class" : "search"})) 22 | message = forms.CharField(widget = forms.Textarea(attrs = {"class" : "textarea"})) 23 | token = forms.CharField(max_length = 8, widget = forms.TextInput(attrs = {"class" : "search"})) 24 | 25 | class CommentsForm(forms.ModelForm): 26 | """Comments form field""" 27 | token = forms.CharField(max_length = 8, widget = forms.TextInput(attrs = {"class" : "search"})) 28 | 29 | class Meta: 30 | model = Comments 31 | widgets = {"nick" : forms.TextInput(attrs = {"class" : "search"}), 32 | "www" : forms.TextInput(attrs = {"class" : "search"}), 33 | "text" : forms.Textarea(attrs = {"class" : "textarea"})} 34 | -------------------------------------------------------------------------------- /treemenus/templatetags/tree_menu_tags.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from django import template 4 | from django.template.defaulttags import url 5 | from django.template.defaulttags import URLNode 6 | from django.template import Node 7 | 8 | from plushcms.treemenus.models import Menu 9 | from plushcms.treemenus.models import MenuItem 10 | from plushcms.treemenus.config import APP_LABEL 11 | 12 | from django.template import TOKEN_BLOCK 13 | from django.template import Token 14 | 15 | register = template.Library() 16 | 17 | # 16.02.2011 - dodany try except 18 | def show_menu(context, menu_name, menu_type = None): 19 | try: 20 | menu = Menu.objects.get(name = menu_name) 21 | except: 22 | return None 23 | else: 24 | context["menu"] = menu 25 | 26 | if menu_type: 27 | context["menu_type"] = menu_type 28 | 29 | return context 30 | 31 | register.inclusion_tag("%s/menu.html" % APP_LABEL, takes_context = True)(show_menu) 32 | 33 | def show_menu_item(context, menu_item): 34 | if not isinstance(menu_item, MenuItem): 35 | raise template.TemplateSyntaxError, "Podany argument musi być obiektem MenuItem." 36 | 37 | context["menu_item"] = menu_item 38 | 39 | return context 40 | 41 | register.inclusion_tag("%s/menu_item.html" % APP_LABEL, takes_context = True)(show_menu_item) 42 | # 06.03.2011 - usunięto ReverseNamedURLNode, reverse_named_ulr i jego rejestracja 43 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 = '.*)\.html$", showNewsByTitle), 23 | url(r"^site/(?P[\w\-_]+)/$", showPartOfNews), 24 | url(r"^subpage/contact/info/$", showContactSuccessfully), 25 | url(r"^subpage/contact/info-error/$", showContactUnsuccessfully), 26 | url(r"^subpage/(?P[\w\-_]+)/$", showSubpage), 27 | url(r"^subpage/(?P[\w\-_]+)/(?P[\w\-_]+)/$", showPhotosOrFiles), 28 | url(r"^category/(?P<categoryName>[\w\-_]+)/(?P<pageNumber>[\w\-_]+)/$", showCategories), 29 | url(r"^category/(?P<categoryName>[\w\-_]+)/$", showCategories), 30 | url(r"^search/(?P<pageNumber>[\w\-_]+)/$", showSearchResults), 31 | url(r"^captcha.png/(?P<url>[\w\-_]+)$", captchaGenerator), 32 | url(r"^admin/", include(admin.site.urls)), 33 | url(r"^feeds/rss/$", RSS(), name = "feeds_rss") 34 | ) 35 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/template/template.htm: -------------------------------------------------------------------------------- 1 | <html xmlns="http://www.w3.org/1999/xhtml"> 2 | <head> 3 | <title>{#template_dlg.title} 4 | 5 | 6 | 7 | 8 | 9 |
    10 |
    11 |
    {#template_dlg.desc}
    12 |
    13 | 16 |
    17 |
    18 |
    19 |
    20 | {#template_dlg.preview} 21 | 22 |
    23 |
    24 | 25 |
    26 | 27 | 28 |
    29 |
    30 | 31 | 32 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | function resizeInputs() { 48 | var vp = tinyMCEPopup.dom.getViewPort(window), el; 49 | 50 | el = document.getElementById('htmlSource'); 51 | 52 | if (el) { 53 | el.style.width = (vp.w - 20) + 'px'; 54 | el.style.height = (vp.h - 65) + 'px'; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/xhtmlxtras/js/del.js: -------------------------------------------------------------------------------- 1 | /** 2 | * del.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('del'); 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 | elm.removeAttribute('data-mce-new'); 25 | } 26 | 27 | function insertDel() { 28 | var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'DEL'); 29 | 30 | if (elm == null) { 31 | var s = SXE.inst.selection.getContent(); 32 | if(s.length > 0) { 33 | insertInlineElement('del'); 34 | var elementArray = SXE.inst.dom.select('del[data-mce-new]'); 35 | for (var i=0; i 0) { 33 | insertInlineElement('ins'); 34 | var elementArray = SXE.inst.dom.select('ins[data-mce-new]'); 35 | for (var i=0; i 2 | 3 | 4 | {#table_dlg.merge_cells_title} 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    13 | {#table_dlg.merge_cells_title} 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
    :
    :
    24 |
    25 | 26 |
    27 | 28 | 29 |
    30 |
    31 | 32 | 33 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/wordcount/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.WordCount",{block:0,id:null,countre:null,cleanre:null,init:function(a,b){var c=this,d=0;c.countre=a.getParam("wordcount_countregex",/[\w\u2019\'-]+/g);c.cleanre=a.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$?\'\"_+=\\\/-]*/g);c.id=a.id+"-word-count";a.onPostRender.add(function(f,e){var g,h;h=f.getParam("wordcount_target_id");if(!h){g=tinymce.DOM.get(f.id+"_path_row");if(g){tinymce.DOM.add(g.parentNode,"div",{style:"float: right"},f.getLang("wordcount.words","Words: ")+'0')}}else{tinymce.DOM.add(h,"span",{},'0')}});a.onInit.add(function(e){e.selection.onSetContent.add(function(){c._count(e)});c._count(e)});a.onSetContent.add(function(e){c._count(e)});a.onKeyUp.add(function(f,g){if(g.keyCode==d){return}if(13==g.keyCode||8==d||46==d){c._count(f)}d=g.keyCode})},_getCount:function(c){var a=0;var b=c.getContent({format:"raw"});if(b){b=b.replace(/\.\.\./g," ");b=b.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ");b=b.replace(/(\w+)(&.+?;)+(\w+)/,"$1$3").replace(/&.+?;/g," ");b=b.replace(this.cleanre,"");var d=b.match(this.countre);if(d){a=d.length}}return a},_count:function(a){var b=this;if(b.block){return}b.block=1;setTimeout(function(){var c=b._getCount(a);tinymce.DOM.setHTML(b.id,c.toString());setTimeout(function(){b.block=0},2000)},1)},getInfo:function(){return{longname:"Word Count plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/wordcount",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("wordcount",tinymce.plugins.WordCount)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/syntaxhl/js/dialog.js: -------------------------------------------------------------------------------- 1 | tinyMCEPopup.requireLangPack(); 2 | 3 | var SyntaxHLDialog = { 4 | init : function() { 5 | }, 6 | 7 | insert : function() { 8 | var f = document.forms[0], textarea_output, options = ''; 9 | 10 | //If no code just return. 11 | if(f.syntaxhl_code.value == '') { 12 | tinyMCEPopup.close(); 13 | return false; 14 | } 15 | 16 | /*if(f.syntaxhl_nogutter.checked) { 17 | options += 'gutter: false; '; 18 | } 19 | if(f.syntaxhl_light.checked) { 20 | options += 'light: true; '; 21 | } 22 | if(f.syntaxhl_collapse.checked) { 23 | options += 'collapse: true; '; 24 | } 25 | if(f.syntaxhl_fontsize.value != '') { 26 | var fontsize=parseInt(f.syntaxhl_fontsize.value); 27 | options += 'fontsize: ' + fontsize + '; '; 28 | } 29 | 30 | if(f.syntaxhl_firstline.value != '') { 31 | var linenumber = parseInt(f.syntaxhl_firstline.value); 32 | options += 'first-line: ' + linenumber + '; '; 33 | } 34 | if(f.syntaxhl_highlight.value != '') { 35 | options += 'highlight: [' + f.syntaxhl_highlight.value + ']; '; 36 | }*/ 37 | 38 | textarea_output = '
    ';
    40 |     textarea_output +=  tinyMCEPopup.editor.dom.encode(f.syntaxhl_code.value);
    41 |     textarea_output += '
    '; /* note space at the end, had a bug it was inserting twice? */ 42 | tinyMCEPopup.editor.execCommand('mceInsertContent', false, textarea_output); 43 | tinyMCEPopup.close(); 44 | } 45 | }; 46 | 47 | tinyMCEPopup.onInit.add(SyntaxHLDialog.init, SyntaxHLDialog); 48 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/advhr/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.AdvancedHRPlugin', { 13 | init : function(ed, url) { 14 | // Register commands 15 | ed.addCommand('mceAdvancedHr', function() { 16 | ed.windowManager.open({ 17 | file : url + '/rule.htm', 18 | width : 250 + parseInt(ed.getLang('advhr.delta_width', 0)), 19 | height : 160 + parseInt(ed.getLang('advhr.delta_height', 0)), 20 | inline : 1 21 | }, { 22 | plugin_url : url 23 | }); 24 | }); 25 | 26 | // Register buttons 27 | ed.addButton('advhr', { 28 | title : 'advhr.advhr_desc', 29 | cmd : 'mceAdvancedHr' 30 | }); 31 | 32 | ed.onNodeChange.add(function(ed, cm, n) { 33 | cm.setActive('advhr', n.nodeName == 'HR'); 34 | }); 35 | 36 | ed.onClick.add(function(ed, e) { 37 | e = e.target; 38 | 39 | if (e.nodeName === 'HR') 40 | ed.selection.select(e); 41 | }); 42 | }, 43 | 44 | getInfo : function() { 45 | return { 46 | longname : 'Advanced HR', 47 | author : 'Moxiecode Systems AB', 48 | authorurl : 'http://tinymce.moxiecode.com', 49 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr', 50 | version : tinymce.majorVersion + "." + tinymce.minorVersion 51 | }; 52 | } 53 | }); 54 | 55 | // Register plugin 56 | tinymce.PluginManager.add('advhr', tinymce.plugins.AdvancedHRPlugin); 57 | })(); -------------------------------------------------------------------------------- /core/templates/admin/login.html: -------------------------------------------------------------------------------- 1 | {% extends "admin/base_site.html" %} 2 | {% load i18n %} 3 | 4 | {% block extrastyle %} 5 | {% load adminmedia %}{{ block.super }} 6 | {% endblock %} 7 | 8 | {% block bodyclass %}login{% endblock %} 9 | 10 | {% block content_title %}{% endblock %} 11 | 12 | {% block breadcrumbs %}{% endblock %} 13 | 14 | {% block content %} 15 | {% if error_message %} 16 |

    {{ error_message }}

    17 | {% endif %} 18 | 19 |
    20 |
    {% csrf_token %} 21 |
    22 | 23 |
    24 | 25 |
    26 | 27 | 28 |
    29 | 30 |
    31 | 32 |
    33 |
    34 | 35 | 38 |
    39 | {% endblock %} 40 | -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/skins/o2k7/ui_black.css: -------------------------------------------------------------------------------- 1 | /* Black */ 2 | .o2k7SkinBlack .mceToolbar .mceToolbarStart span, .o2k7SkinBlack .mceToolbar .mceToolbarEnd span, .o2k7SkinBlack .mceButton, .o2k7SkinBlack .mceSplitButton, .o2k7SkinBlack .mceSeparator, .o2k7SkinBlack .mceSplitButton a.mceOpen, .o2k7SkinBlack .mceListBox a.mceOpen {background-image:url(img/button_bg_black.png)} 3 | .o2k7SkinBlack td.mceToolbar, .o2k7SkinBlack td.mceStatusbar, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack .mceMenuItemTitle span.mceText, .o2k7SkinBlack .mceStatusbar div, .o2k7SkinBlack .mceStatusbar span, .o2k7SkinBlack .mceStatusbar a {background:#535353; color:#FFF} 4 | .o2k7SkinBlack table.mceListBoxEnabled .mceText, o2k7SkinBlack .mceListBox .mceText {background:#FFF; border:1px solid #CBCFD4; border-bottom-color:#989FA9; border-right:0} 5 | .o2k7SkinBlack table.mceListBoxEnabled:hover .mceText, .o2k7SkinBlack .mceListBoxHover .mceText, .o2k7SkinBlack .mceListBoxSelected .mceText {background:#FFF; border:1px solid #FFBD69; border-right:0} 6 | .o2k7SkinBlack .mceExternalToolbar, .o2k7SkinBlack .mceListBox .mceText, .o2k7SkinBlack div.mceMenu, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceFirst td, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceLast td, .o2k7SkinBlack .mceIframeContainer {border-color: #535353;} 7 | .o2k7SkinBlack table.mceSplitButtonEnabled:hover a.mceAction, .o2k7SkinBlack .mceSplitButtonHover a.mceAction, .o2k7SkinBlack .mceSplitButtonSelected {background-image:url(img/button_bg_black.png)} 8 | .o2k7SkinBlack .mceMenu .mceMenuItemEnabled a:hover, .o2k7SkinBlack .mceMenu .mceMenuItemActive {background-color:#FFE7A1} -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/iespell/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.IESpell', { 13 | init : function(ed, url) { 14 | var t = this, sp; 15 | 16 | if (!tinymce.isIE) 17 | return; 18 | 19 | t.editor = ed; 20 | 21 | // Register commands 22 | ed.addCommand('mceIESpell', function() { 23 | try { 24 | sp = new ActiveXObject("ieSpell.ieSpellExtension"); 25 | sp.CheckDocumentNode(ed.getDoc().documentElement); 26 | } catch (e) { 27 | if (e.number == -2146827859) { 28 | ed.windowManager.confirm(ed.getLang("iespell.download"), function(s) { 29 | if (s) 30 | window.open('http://www.iespell.com/download.php', 'ieSpellDownload', ''); 31 | }); 32 | } else 33 | ed.windowManager.alert("Error Loading ieSpell: Exception " + e.number); 34 | } 35 | }); 36 | 37 | // Register buttons 38 | ed.addButton('iespell', {title : 'iespell.iespell_desc', cmd : 'mceIESpell'}); 39 | }, 40 | 41 | getInfo : function() { 42 | return { 43 | longname : 'IESpell (IE Only)', 44 | author : 'Moxiecode Systems AB', 45 | authorurl : 'http://tinymce.moxiecode.com', 46 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell', 47 | version : tinymce.majorVersion + "." + tinymce.minorVersion 48 | }; 49 | } 50 | }); 51 | 52 | // Register plugin 53 | tinymce.PluginManager.add('iespell', tinymce.plugins.IESpell); 54 | })(); -------------------------------------------------------------------------------- /core/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | {% for news in posts.object_list %} 4 |

    {{ news.title }}

    5 |
    Date: {{ news.datetime|date:"Y.m.d" }}
    6 | 7 | {% if news.text|safe|wordcount > 50 %} 8 | {{ news.text|safe|truncatewords_html:"50" }} 9 |

    More...



    10 | {% else %} 11 | {{ news.text|safe }} 12 | {% endif %} 13 | 14 |
    15 | Categories: 16 | {% if news.category.all|length %} 17 | {% for category in news.category.all %} 18 | {{ category.title }} {{ category.title }}{% if not forloop.last %},{% endif %} 19 | {% endfor %} 20 | {% else %} 21 | None 22 | {% endif %} 23 | | Author: {{ news.author }} 24 |
    25 | 26 |
    27 | Comments: ({{ news.comments_set.count }}) 28 |
    29 | 30 |
    31 | {% endfor %} 32 | 33 | {% if posts.has_previous %} 34 | 35 | {% endif %} 36 | 37 | {% if posts.has_next %} 38 | 39 | {% endif %} 40 | {% endblock %} 41 | -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/style/langs/pl_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.style_dlg',{"text_lineheight":"Wysoko\u015b\u0107 linii","text_variant":"Wariant","text_style":"Styl","text_weight":"Waga","text_size":"Rozmiar","text_font":"Wz\u00f3r czcionki","text_props":"Tekst","positioning_tab":"Pozycjonowanie","list_tab":"Lista","border_tab":"Obramowanie","box_tab":"Boks","block_tab":"Blok","background_tab":"T\u0142o","text_tab":"Text",apply:"Zastosuj",title:"Edytuj style CSS",clip:"Klip",placement:"Umieszczenie",overflow:"Przepe\u0142niony",zindex:"Z-index",visibility:"Widoczno\u015b\u0107","positioning_type":"Typ",position:"Pozycja","bullet_image":"Obrazek listy","list_type":"Typ",color:"Kolor",height:"Wysoko\u015b\u0107",width:"Szeroko\u015b\u0107",style:"Styl",margin:"Margines",left:"Lewy",bottom:"D\u00f3\u0142",right:"Prawy",top:"G\u00f3ra",same:"To samo dla wszystkich",padding:"Odst\u0119py","box_clear":"Op\u0142ywanie (Clear)","box_float":"Op\u0142ywanie (Float)","box_height":"Wysoko\u015b\u0107","box_width":"Szeroko\u015b\u0107","block_display":"Spos\u00f3b wy\u015bwietlania","block_whitespace":"Bia\u0142e znaki","block_text_indent":"Przesuni\u0119cie tekstu","block_text_align":"Wyr\u00f3wnanie tekstu","block_vertical_alignment":"Pionowe wyr\u00f3wnanie","block_letterspacing":"Odst\u0119p mi\u0119dzy literami","block_wordspacing":"Odst\u0119p mi\u0119dzy wyrazami","background_vpos":"Pozycja pionowa","background_hpos":"Pozycja pozioma","background_attachment":"Za\u0142\u0105cznik","background_repeat":"Powt\u00f3rz","background_image":"Obrazek t\u0142a","background_color":"Kolor t\u0142a","text_none":"\u017caden","text_blink":"miganie","text_case":"Znaki","text_striketrough":"przekre\u015blenie","text_underline":"podkre\u015blenie","text_overline":"nadkre\u015blenie","text_decoration":"Dekoracja","text_color":"Kolor"}); -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/nonbreaking/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.Nonbreaking', { 13 | init : function(ed, url) { 14 | var t = this; 15 | 16 | t.editor = ed; 17 | 18 | // Register commands 19 | ed.addCommand('mceNonBreaking', function() { 20 | ed.execCommand('mceInsertContent', false, (ed.plugins.visualchars && ed.plugins.visualchars.state) ? ' ' : ' '); 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 | })(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | })(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | })(); -------------------------------------------------------------------------------- /syntaxhighlight/pygments/styles/borland.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | plushcms.syntaxhighlight.pygments.styles.borland 4 | ~~~~~~~~~~~~~~~~~~~~~~~ 5 | 6 | Style similar to the style used in the Borland IDEs. 7 | 8 | :copyright: Copyright 2006-2010 by the Pygments team, see AUTHORS. 9 | :license: BSD, see LICENSE for details. 10 | """ 11 | 12 | from plushcms.syntaxhighlight.pygments.style import Style 13 | from plushcms.syntaxhighlight.pygments.token import Keyword, Name, Comment, String, Error, \ 14 | Number, Operator, Generic, Whitespace 15 | 16 | 17 | class BorlandStyle(Style): 18 | """ 19 | Style similar to the style used in the borland IDEs. 20 | """ 21 | 22 | default_style = '' 23 | 24 | styles = { 25 | Whitespace: '#bbbbbb', 26 | 27 | Comment: 'italic #008800', 28 | Comment.Preproc: 'noitalic #008080', 29 | Comment.Special: 'noitalic bold', 30 | 31 | String: '#0000FF', 32 | String.Char: '#800080', 33 | Number: '#0000FF', 34 | Keyword: 'bold #000080', 35 | Operator.Word: 'bold', 36 | Name.Tag: 'bold #000080', 37 | Name.Attribute: '#FF0000', 38 | 39 | Generic.Heading: '#999999', 40 | Generic.Subheading: '#aaaaaa', 41 | Generic.Deleted: 'bg:#ffdddd #000000', 42 | Generic.Inserted: 'bg:#ddffdd #000000', 43 | Generic.Error: '#aa0000', 44 | Generic.Emph: 'italic', 45 | Generic.Strong: 'bold', 46 | Generic.Prompt: '#555555', 47 | Generic.Output: '#888888', 48 | Generic.Traceback: '#aa0000', 49 | 50 | Error: 'bg:#e3d2d2 #a61717' 51 | } 52 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | -------------------------------------------------------------------------------- /treemenus/utils.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from django.utils.safestring import mark_safe 4 | from urllib2 import urlopen as check_parents 5 | from django.forms import ChoiceField 6 | 7 | from plushcms.treemenus.models import MenuItem 8 | 9 | class MenuItemChoiceField(ChoiceField): 10 | def clean(self, value): 11 | return MenuItem.objects.get(pk = value) 12 | 13 | def move_item(menu_item, vector): 14 | old_rank = menu_item.rank 15 | swapping_sibling = MenuItem.objects.get(parent = menu_item.parent, rank = old_rank + vector) 16 | new_rank = swapping_sibling.rank 17 | swapping_sibling.rank = old_rank 18 | menu_item.rank = new_rank 19 | menu_item.save() 20 | swapping_sibling.save() 21 | 22 | def move_item_or_clean_ranks(menu_item, vector): 23 | try: 24 | move_item(menu_item, vector) 25 | 26 | except MenuItem.DoesNotExist: 27 | if menu_item.parent: 28 | clean_ranks(menu_item.parent.children()) 29 | fresh_menu_item = MenuItem.objects.get(pk = menu_item.pk) 30 | move_item(fresh_menu_item, vector) 31 | 32 | def get_parent_choices(menu, menu_item = None): 33 | def get_flat_tuples(menu_item, excepted_item = None): 34 | if menu_item == excepted_item: 35 | return [] 36 | 37 | else: 38 | choices = [(menu_item.pk, mark_safe(menu_item.caption_with_spacer()))] 39 | 40 | if menu_item.has_children(): 41 | for child in menu_item.children(): 42 | choices = choices + get_flat_tuples(child, excepted_item) 43 | 44 | return choices 45 | 46 | return get_flat_tuples(menu.root_item) 47 | 48 | def clean_ranks(menu_items): 49 | rank = 0 50 | 51 | for menu_item in menu_items: 52 | menu_item.rank = rank 53 | menu_item.save() 54 | rank = rank + 1 55 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | })(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 2 | 3 | 4 | {#advanced_dlg.accessibility_help} 5 | 6 | 7 | 8 | 9 |

    {#advanced_dlg.accessibility_usage_title}

    10 |

    Toolbars

    11 |

    Press ALT-F10 to move focus to the toolbars. Navigate through the buttons using the arrow keys. 12 | Press enter to activate a button and return focus to the editor. 13 | Press escape to return focus to the editor without performing any actions.

    14 | 15 |

    Status Bar

    16 |

    To access the editor status bar, press ALT-F11. Use the left and right arrow keys to navigate between elements in the path. 17 | Press enter or space to select an element. Press escape to return focus to the editor without changing the selection.

    18 | 19 |

    Context Menu

    20 |

    Press shift-F10 to activate the context menu. Use the up and down arrow keys to move between menu items. To open sub-menus press the right arrow key. 21 | To close submenus press the left arrow key. Press escape to close the context menu.

    22 | 23 |

    Keyboard Shortcuts

    24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 |
    KeystrokeFunction
    Control-BBold
    Control-IItalic
    Control-ZUndo
    Control-YRedo
    46 | 47 | 48 | -------------------------------------------------------------------------------- /img/js/textareas.js: -------------------------------------------------------------------------------- 1 | tinyMCE.init({ 2 | mode : "textareas", 3 | theme : "advanced", 4 | language : "en", 5 | entity_encoding : "raw", 6 | plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,syntaxhl", 7 | 8 | theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect,fullscreen,code", 9 | theme_advanced_buttons2 : "cut,copy,paste,pastetext,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,|,insertdate,inserttime,preview,|,forecolor,backcolor,|, syntaxhl", 10 | theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl", 11 | 12 | theme_advanced_toolbar_location : "top", 13 | theme_advanced_toolbar_align : "left", 14 | theme_advanced_statusbar_location : "bottom", 15 | theme_advanced_resizing : true, 16 | 17 | template_external_list_url : "lists/template_list.js", 18 | external_link_list_url : "lists/link_list.js", 19 | external_image_list_url : "lists/image_list.js", 20 | media_external_list_url : "lists/media_list.js", 21 | extended_valid_elements : "textarea[cols|rows|disabled|name|readonly|class]", 22 | 23 | style_formats : [ 24 | {title : 'Bold text', inline : 'strong'}, 25 | {title : 'Red text', inline : 'span', styles : {color : '#ff0000'}}, 26 | {title : 'Help', inline : 'strong', classes : 'help'}, 27 | {title : 'Table styles'}, 28 | {title : 'Table row 1', selector : 'tr', classes : 'tablerow'} 29 | ], 30 | 31 | width: '700', 32 | height: '400' 33 | }); 34 | -------------------------------------------------------------------------------- /img/js/tiny_mce/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 be an 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 | width:"Width", 36 | height:"Height", 37 | popup_position:"Position (X/Y)", 38 | id:"Id", 39 | style:"Style", 40 | classes:"Classes", 41 | target_name:"Target name", 42 | langdir:"Language direction", 43 | target_langcode:"Target language", 44 | langcode:"Language code", 45 | encoding:"Target character encoding", 46 | mime:"Target MIME type", 47 | rel:"Relationship page to target", 48 | rev:"Relationship target to page", 49 | tabindex:"Tabindex", 50 | accesskey:"Accesskey", 51 | ltr:"Left to right", 52 | rtl:"Right to left", 53 | link_list:"Link list" 54 | }); -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/syntaxhl/README: -------------------------------------------------------------------------------- 1 | SyntaxHL is a plugin for the Tinymce (http://tinymce.moxiecode.com/) javascript WYSIWYG editor allowing you to insert highlighted code into the editor. The syntax highlighting is done using Syntax Highligher (http://code.google.com/p/syntaxhighlighter/) and the plugin simply produces the right syntax for this. 2 | 3 | == Installation 4 | 5 | = Move to plugin directory 6 | 7 | Copy the syntaxhl folder into the Tinymce plugin directory so the path is something like this: 8 | 9 | /path/to/tinymce/plugins/syntaxhl 10 | 11 | = Configure Tinymce 12 | 13 | In your HTML under the tinymce.init option you need to append or add the line to load the plugin. You also need to add the button 'syntaxhl' to one of the button lines. 14 | 15 | Example configuration: 16 | 17 | tinyMCE.init({ 18 | theme : "advanced", 19 | plugins : "syntaxhl", 20 | theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,styleselect,removeformat,cleanup,code, syntaxhl", 21 | theme_advanced_buttons2 : "", 22 | theme_advanced_buttons3 : "", 23 | remove_linebreaks : false, 24 | extended_valid_elements : "textarea[cols|rows|disabled|name|readonly|class]" 25 | }); 26 | 27 | 28 | That should be all you need to get the plugin working. Open up the editor and check the button has appeared (looks like a highlighter pen). 29 | 30 | ================================================================================ 31 | 32 | Please feel free to modify the project and send pull requests with improvements, changes are welcome! 33 | 34 | If you have any problems at all contact me and I'll do the best I can to help. 35 | 36 | http://27smiles.com 37 | 38 | ================================================================================ 39 | 40 | == License 41 | 42 | Copyright (c) 2008 Richard Grundy. 43 | 44 | TinyMCE is released under the LGPL and therefore so is this plugin. 45 | 46 | http://www.opensource.org/licenses/lgpl-license.php -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | text:"Text", 64 | background:"Background", 65 | block:"Block", 66 | box:"Box", 67 | border:"Border", 68 | list:"List", 69 | position:"Position" 70 | }); -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/advanced/langs/pl_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('pl.advanced_dlg',{"link_list":"Lista link\u00f3w","link_is_external":"URL kt\u00f3ry otworzy\u0142e\u015b wydaje si\u0119 by\u0107 zewn\u0119trznym linkiem, czy chcesz doda\u0107 wymagany prefiks http:// ?","link_is_email":"URL kt\u00f3ry otworzy\u0142e\u015b wydaje si\u0119 by\u0107 adresem mailowym, czy chcesz doda\u0107 odpowiedni prefiks mailto:?","link_titlefield":"Tytu\u0142","link_target_blank":"Otw\u00f3rz link w nowym oknie","link_target_same":"Otw\u00f3rz link w tym samym oknie","link_target":"Cel","link_url":"URL linka","link_title":"Wstaw/edytuj link","image_align_right":"Prawy","image_align_left":"Lewy","image_align_textbottom":"Dolny tekst","image_align_texttop":"G\u00f3rny tekst","image_align_bottom":"D\u00f3\u0142","image_align_middle":"\u015arodek","image_align_top":"G\u00f3ra","image_align_baseline":"Linia bazowa","image_align":"Wyr\u00f3wnanie","image_hspace":"Odst\u0119p poziomy","image_vspace":"Odst\u0119p pionowy","image_dimensions":"Rozmiary","image_alt":"Opis obrazka","image_list":"Lista obrazk\u00f3w","image_border":"Obramowanie","image_src":"URL obrazka","image_title":"Wstaw/edytuj obraz","charmap_title":"Wybierz niestandardowy znak","colorpicker_name":"Nazwa:","colorpicker_color":"Kolor:","colorpicker_named_title":"Nazwane kolory","colorpicker_named_tab":"Nazwane","colorpicker_palette_title":"Paleta kolor\u00f3w","colorpicker_palette_tab":"Paleta","colorpicker_picker_title":"Wybieranie kolor\u00f3w","colorpicker_picker_tab":"Wybieranie","colorpicker_title":"Wybierz kolor","code_wordwrap":"Zawijanie s\u0142\u00f3w","code_title":"Edytor \u017ar\u00f3d\u0142a HTML","anchor_name":"Nazwa zakotwiczenia","anchor_title":"Wstaw/Edytuj zakotwiczenie","about_loaded":"Za\u0142adowane wtyczki","about_version":"Wersja","about_author":"Autor","about_plugin":"Wtyczka","about_plugins":"Wtyczki","about_license":"Licencja","about_help":"Pomoc","about_general":"O TinyMCE","about_title":"O TinyMCE","anchor_invalid":"Prosz\u0119 poda\u0107 w\u0142a\u015bciw\u0105 nazw\u0119 zakotwiczenia."}); -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/legacyoutput/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(a){a.onAddEditor.addToTop(function(c,b){b.settings.inline_styles=false});a.create("tinymce.plugins.LegacyOutput",{init:function(b){b.onInit.add(function(){var c="p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img",e=a.explode(b.settings.font_size_style_values),d=b.schema;b.formatter.register({alignleft:{selector:c,attributes:{align:"left"}},aligncenter:{selector:c,attributes:{align:"center"}},alignright:{selector:c,attributes:{align:"right"}},alignfull:{selector:c,attributes:{align:"justify"}},bold:[{inline:"b",remove:"all"},{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}}],italic:[{inline:"i",remove:"all"},{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}}],underline:[{inline:"u",remove:"all"},{inline:"span",styles:{textDecoration:"underline"},exact:true}],strikethrough:[{inline:"strike",remove:"all"},{inline:"span",styles:{textDecoration:"line-through"},exact:true}],fontname:{inline:"font",attributes:{face:"%value"}},fontsize:{inline:"font",attributes:{size:function(f){return a.inArray(e,f.value)+1}}},forecolor:{inline:"font",styles:{color:"%value"}},hilitecolor:{inline:"font",styles:{backgroundColor:"%value"}}});a.each("b,i,u,strike".split(","),function(f){d.addValidElements(f+"[*]")});if(!d.getElementRule("font")){d.addValidElements("font[face|size|color|style]")}a.each(c.split(","),function(f){var h=d.getElementRule(f),g;if(h){if(!h.attributes.align){h.attributes.align={};h.attributesOrder.push("align")}}});b.onNodeChange.add(function(g,k){var j,f,h,i;f=g.dom.getParent(g.selection.getNode(),"font");if(f){h=f.face;i=f.size}if(j=k.get("fontselect")){j.select(function(l){return l==h})}if(j=k.get("fontsizeselect")){j.select(function(m){var l=a.inArray(e,m.fontSize);return l+1==i})}})})},getInfo:function(){return{longname:"LegacyOutput",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("legacyoutput",a.plugins.LegacyOutput)})(tinymce); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | // Keep IE from writing out the f/r character to the editor 16 | // instance while initializing a new dialog. See: #3131190 17 | window.focus(); 18 | 19 | ed.windowManager.open({ 20 | file : url + '/searchreplace.htm', 21 | width : 420 + parseInt(ed.getLang('searchreplace.delta_width', 0)), 22 | height : 170 + parseInt(ed.getLang('searchreplace.delta_height', 0)), 23 | inline : 1, 24 | auto_focus : 0 25 | }, { 26 | mode : m, 27 | search_string : ed.selection.getContent({format : 'text'}), 28 | plugin_url : url 29 | }); 30 | }; 31 | 32 | // Register commands 33 | ed.addCommand('mceSearch', function() { 34 | open('search'); 35 | }); 36 | 37 | ed.addCommand('mceReplace', function() { 38 | open('replace'); 39 | }); 40 | 41 | // Register buttons 42 | ed.addButton('search', {title : 'searchreplace.search_desc', cmd : 'mceSearch'}); 43 | ed.addButton('replace', {title : 'searchreplace.replace_desc', cmd : 'mceReplace'}); 44 | 45 | ed.addShortcut('ctrl+f', 'searchreplace.search_desc', 'mceSearch'); 46 | }, 47 | 48 | getInfo : function() { 49 | return { 50 | longname : 'Search/Replace', 51 | author : 'Moxiecode Systems AB', 52 | authorurl : 'http://tinymce.moxiecode.com', 53 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace', 54 | version : tinymce.majorVersion + "." + tinymce.minorVersion 55 | }; 56 | } 57 | }); 58 | 59 | // Register plugin 60 | tinymce.PluginManager.add('searchreplace', tinymce.plugins.SearchReplacePlugin); 61 | })(); -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/autolink/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.AutolinkPlugin",{init:function(a,b){var c=this;if(tinyMCE.isIE){return}a.onKeyDown.add(function(d,f){if(f.keyCode==13){return c.handleEnter(d)}if(f.shiftKey&&f.keyCode==48){return c.handleEclipse(d)}});a.onKeyUp.add(function(d,f){if(f.keyCode==32){return c.handleSpacebar(d)}})},handleEclipse:function(a){this.parseCurrentLine(a,-1,"(",true)},handleSpacebar:function(a){this.parseCurrentLine(a,0,"",true)},handleEnter:function(a){this.parseCurrentLine(a,-1,"",false)},parseCurrentLine:function(i,d,b,g){var a,f,c,n,k,m,h,e,j;a=i.selection.getRng().cloneRange();if(a.startOffset<5){e=a.endContainer.previousSibling;if(e==null){if(a.endContainer.firstChild==null||a.endContainer.firstChild.nextSibling==null){return}e=a.endContainer.firstChild.nextSibling}j=e.length;a.setStart(e,j);a.setEnd(e,j);if(a.endOffset<5){return}f=a.endOffset;n=e}else{n=a.endContainer;if(n.nodeType!=3&&n.firstChild){while(n.nodeType!=3&&n.firstChild){n=n.firstChild}a.setStart(n,0);a.setEnd(n,n.nodeValue.length)}if(a.endOffset==1){f=2}else{f=a.endOffset-1-d}}c=f;do{a.setStart(n,f-2);a.setEnd(n,f-1);f-=1}while(a.toString()!=" "&&a.toString()!=""&&a.toString().charCodeAt(0)!=160&&(f-2)>=0&&a.toString()!=b);if(a.toString()==b||a.toString().charCodeAt(0)==160){a.setStart(n,f);a.setEnd(n,c);f+=1}else{if(a.startOffset==0){a.setStart(n,0);a.setEnd(n,c)}else{a.setStart(n,f);a.setEnd(n,c)}}m=a.toString();h=m.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)(.+)$/i);if(h){if(h[1]=="www."){h[1]="http://www."}k=i.selection.getBookmark();i.selection.setRng(a);tinyMCE.execCommand("mceInsertLink",false,h[1]+h[2]);i.selection.moveToBookmark(k);if(tinyMCE.isWebKit){i.selection.collapse(false);var l=Math.min(n.length,c+1);a.setStart(n,l);a.setEnd(n,l);i.selection.setRng(a)}}},getInfo:function(){return{longname:"Autolink",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autolink",tinymce.plugins.AutolinkPlugin)})(); -------------------------------------------------------------------------------- /img/js/tiny_mce/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 | anchor_invalid:"Please specify a valid anchor name.", 14 | code_title:"HTML Source Editor", 15 | code_wordwrap:"Word wrap", 16 | colorpicker_title:"Select a color", 17 | colorpicker_picker_tab:"Picker", 18 | colorpicker_picker_title:"Color picker", 19 | colorpicker_palette_tab:"Palette", 20 | colorpicker_palette_title:"Palette colors", 21 | colorpicker_named_tab:"Named", 22 | colorpicker_named_title:"Named colors", 23 | colorpicker_color:"Color:", 24 | colorpicker_name:"Name:", 25 | charmap_title:"Select custom character", 26 | image_title:"Insert/edit image", 27 | image_src:"Image URL", 28 | image_alt:"Image description", 29 | image_list:"Image list", 30 | image_border:"Border", 31 | image_dimensions:"Dimensions", 32 | image_vspace:"Vertical space", 33 | image_hspace:"Horizontal space", 34 | image_align:"Alignment", 35 | image_align_baseline:"Baseline", 36 | image_align_top:"Top", 37 | image_align_middle:"Middle", 38 | image_align_bottom:"Bottom", 39 | image_align_texttop:"Text top", 40 | image_align_textbottom:"Text bottom", 41 | image_align_left:"Left", 42 | image_align_right:"Right", 43 | link_title:"Insert/edit link", 44 | link_url:"Link URL", 45 | link_target:"Target", 46 | link_target_same:"Open link in the same window", 47 | link_target_blank:"Open link in a new window", 48 | link_titlefield:"Title", 49 | link_is_email:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", 50 | link_is_external:"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?", 51 | link_list:"Link list", 52 | accessibility_help:"Accessibility Help", 53 | accessibility_usage_title:"General Usage" 54 | }); -------------------------------------------------------------------------------- /img/js/tiny_mce/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");if(tinymce.isIE&&/MSIE [2-7]/.test(navigator.userAgent)){d.isIE7=true}},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("data-mce-style")}}i.focus()}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",titleItem:true}).setDisabled(1);a(f[d],function(k){if(f.isIE7&&k.styles.listStyleType=="lower-greek"){return}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)})(); -------------------------------------------------------------------------------- /core/admin.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from django.contrib import admin 4 | 5 | from plushcms.core.models import NewsCategory 6 | from plushcms.core.models import Links 7 | from plushcms.core.models import News 8 | from plushcms.core.models import Comments 9 | from plushcms.core.models import Subpage 10 | from plushcms.core.models import Partners 11 | 12 | # That action will no longer be available site-wid 13 | admin.site.disable_action("delete_selected") 14 | 15 | class NewsCategory_Admin(admin.ModelAdmin): 16 | list_display = ("showIcon", "title") 17 | actions = ["delete_selected"] 18 | 19 | class Links_Admin(admin.ModelAdmin): 20 | list_display = ("title",) 21 | actions = ["delete_selected"] 22 | 23 | class News_Admin(admin.ModelAdmin): 24 | list_display = ("title", "author", "isHeadline", "isDraft", "datetime") 25 | list_filter = ["category", "author"] 26 | actions = ["delete_selected"] 27 | 28 | # Sets the author's news 29 | def save_model(self, request, obj, form, change): 30 | if getattr(obj, "author", None) is None: 31 | obj.author = request.user 32 | 33 | obj.save() 34 | 35 | # Loading TinyMCE 36 | class Media: 37 | js = ("/img/js/tiny_mce/tiny_mce.js", "/img/js/textareas.js") 38 | 39 | class Comments_Admin(admin.ModelAdmin): 40 | list_display = ("nick", "news", "datetime") 41 | actions = ["delete_selected"] 42 | 43 | # Loading TinyMCE 44 | class Media: 45 | js = ("/img/js/tiny_mce/tiny_mce.js", "/img/js/textareas.js") 46 | 47 | class Subpage_Admin(admin.ModelAdmin): 48 | list_display = ("mod", "title",) 49 | actions = ["delete_selected"] 50 | 51 | # Loading TinyMCE 52 | class Media: 53 | js = ("/img/js/tiny_mce/tiny_mce.js", "/img/js/textareas.js") 54 | 55 | class Partners_Admin(admin.ModelAdmin): 56 | list_display = ("title",) 57 | actions = ["delete_selected"] 58 | 59 | admin.site.register(NewsCategory, NewsCategory_Admin) 60 | admin.site.register(Links, Links_Admin) 61 | admin.site.register(News, News_Admin) 62 | admin.site.register(Comments, Comments_Admin) 63 | admin.site.register(Subpage, Subpage_Admin) 64 | admin.site.register(Partners, Partners_Admin) 65 | -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/simple/editor_template.js: -------------------------------------------------------------------------------- 1 | (function(){var a=tinymce.DOM;tinymce.ThemeManager.requireLangPack("simple");tinymce.create("tinymce.themes.SimpleTheme",{init:function(c,d){var e=this,b=["Bold","Italic","Underline","Strikethrough","InsertUnorderedList","InsertOrderedList"],f=c.settings;e.editor=c;c.contentCSS.push(d+"/skins/"+f.skin+"/content.css");c.onInit.add(function(){c.onNodeChange.add(function(h,g){tinymce.each(b,function(i){g.get(i.toLowerCase()).setActive(h.queryCommandState(i))})})});a.loadCSS((f.editor_css?c.documentBaseURI.toAbsolute(f.editor_css):"")||d+"/skins/"+f.skin+"/ui.css")},renderUI:function(h){var e=this,i=h.targetNode,b,c,d=e.editor,f=d.controlManager,g;i=a.insertAfter(a.create("span",{id:d.id+"_container","class":"mceEditor "+d.settings.skin+"SimpleSkin"}),i);i=g=a.add(i,"table",{cellPadding:0,cellSpacing:0,"class":"mceLayout"});i=c=a.add(i,"tbody");i=a.add(c,"tr");i=b=a.add(a.add(i,"td"),"div",{"class":"mceIframeContainer"});i=a.add(a.add(c,"tr",{"class":"last"}),"td",{"class":"mceToolbar mceLast",align:"center"});c=e.toolbar=f.createToolbar("tools1");c.add(f.createButton("bold",{title:"simple.bold_desc",cmd:"Bold"}));c.add(f.createButton("italic",{title:"simple.italic_desc",cmd:"Italic"}));c.add(f.createButton("underline",{title:"simple.underline_desc",cmd:"Underline"}));c.add(f.createButton("strikethrough",{title:"simple.striketrough_desc",cmd:"Strikethrough"}));c.add(f.createSeparator());c.add(f.createButton("undo",{title:"simple.undo_desc",cmd:"Undo"}));c.add(f.createButton("redo",{title:"simple.redo_desc",cmd:"Redo"}));c.add(f.createSeparator());c.add(f.createButton("cleanup",{title:"simple.cleanup_desc",cmd:"mceCleanup"}));c.add(f.createSeparator());c.add(f.createButton("insertunorderedlist",{title:"simple.bullist_desc",cmd:"InsertUnorderedList"}));c.add(f.createButton("insertorderedlist",{title:"simple.numlist_desc",cmd:"InsertOrderedList"}));c.renderTo(i);return{iframeContainer:b,editorContainer:d.id+"_container",sizeContainer:g,deltaHeight:-20}},getInfo:function(){return{longname:"Simple theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.ThemeManager.add("simple",tinymce.themes.SimpleTheme)})(); -------------------------------------------------------------------------------- /syntaxhighlight/pygments/console.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | plushcms.syntaxhighlight.pygments.console 4 | ~~~~~~~~~~~~~~~~ 5 | 6 | Format colored console output. 7 | 8 | :copyright: Copyright 2006-2010 by the Pygments team, see AUTHORS. 9 | :license: BSD, see LICENSE for details. 10 | """ 11 | 12 | esc = "\x1b[" 13 | 14 | codes = {} 15 | codes[""] = "" 16 | codes["reset"] = esc + "39;49;00m" 17 | 18 | codes["bold"] = esc + "01m" 19 | codes["faint"] = esc + "02m" 20 | codes["standout"] = esc + "03m" 21 | codes["underline"] = esc + "04m" 22 | codes["blink"] = esc + "05m" 23 | codes["overline"] = esc + "06m" 24 | 25 | dark_colors = ["black", "darkred", "darkgreen", "brown", "darkblue", 26 | "purple", "teal", "lightgray"] 27 | light_colors = ["darkgray", "red", "green", "yellow", "blue", 28 | "fuchsia", "turquoise", "white"] 29 | 30 | x = 30 31 | for d, l in zip(dark_colors, light_colors): 32 | codes[d] = esc + "%im" % x 33 | codes[l] = esc + "%i;01m" % x 34 | x += 1 35 | 36 | del d, l, x 37 | 38 | codes["darkteal"] = codes["turquoise"] 39 | codes["darkyellow"] = codes["brown"] 40 | codes["fuscia"] = codes["fuchsia"] 41 | codes["white"] = codes["bold"] 42 | 43 | 44 | def reset_color(): 45 | return codes["reset"] 46 | 47 | 48 | def colorize(color_key, text): 49 | return codes[color_key] + text + codes["reset"] 50 | 51 | 52 | def ansiformat(attr, text): 53 | """ 54 | Format ``text`` with a color and/or some attributes:: 55 | 56 | color normal color 57 | *color* bold color 58 | _color_ underlined color 59 | +color+ blinksng color 60 | """ 61 | result = [] 62 | if attr[:1] == attr[-1:] == '+': 63 | result.append(codes['blink']) 64 | attr = attr[1:-1] 65 | if attr[:1] == attr[-1:] == '*': 66 | result.append(codes['bold']) 67 | attr = attr[1:-1] 68 | if attr[:1] == attr[-1:] == '_': 69 | result.append(codes['underline']) 70 | attr = attr[1:-1] 71 | result.append(codes[attr]) 72 | result.append(text) 73 | result.append(codes['reset']) 74 | return ''.join(result) 75 | -------------------------------------------------------------------------------- /core/templates/category.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |

    Category: {{ category.title }}


    4 | 5 | {% if posts.object_list %} 6 | {% for news in posts.object_list %} 7 |

    {{ news.title }}

    8 |
    Date: {{ news.datetime|date:"Y.m.d" }}
    9 | 10 | {% if news.text|safe|wordcount > 50 %} 11 | {{ news.text|safe|truncatewords_html:"50" }} 12 |

    More...



    13 | {% else %} 14 | {{ news.text|safe }} 15 | {% endif %} 16 | 17 |

    18 | Categories: 19 | {% if news.category.all|length %} 20 | {% for category in news.category.all %} 21 | {{ category.title }} {{ category.title }}{% if not forloop.last %},{% endif %} 22 | {% endfor %} 23 | {% else %} 24 | No category 25 | {% endif %} 26 | | Author: {{ news.author }} 27 | 28 | Comments: ({{ news.comments_set.count }}) 29 | 30 |

    31 | {% endfor %} 32 | 33 | {% if posts.has_previous %} 34 | 35 | {% endif %} 36 | 37 | {% if posts.has_next %} 38 | 39 | {% endif %} 40 | {% else %} 41 | This category is empty. 42 |

    Return to homepage

    43 | {% endif %} 44 | {% endblock %} 45 | -------------------------------------------------------------------------------- /img/js/tiny_mce/themes/simple/skins/default/ui.css: -------------------------------------------------------------------------------- 1 | /* Reset */ 2 | .defaultSimpleSkin table, .defaultSimpleSkin tbody, .defaultSimpleSkin a, .defaultSimpleSkin img, .defaultSimpleSkin tr, .defaultSimpleSkin div, .defaultSimpleSkin td, .defaultSimpleSkin iframe, .defaultSimpleSkin span, .defaultSimpleSkin * {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 | .defaultSimpleSkin {position:relative} 6 | .defaultSimpleSkin table.mceLayout {background:#F0F0EE; border:1px solid #CCC;} 7 | .defaultSimpleSkin iframe {display:block; background:#FFF; border-bottom:1px solid #CCC;} 8 | .defaultSimpleSkin .mceToolbar {height:24px;} 9 | 10 | /* Layout */ 11 | .defaultSimpleSkin span.mceIcon, .defaultSimpleSkin img.mceIcon {display:block; width:20px; height:20px} 12 | .defaultSimpleSkin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px} 13 | 14 | /* Button */ 15 | .defaultSimpleSkin .mceButton {display:block; border:1px solid #F0F0EE; width:20px; height:20px} 16 | .defaultSimpleSkin a.mceButtonEnabled:hover {border:1px solid #0A246A; background-color:#B2BBD0} 17 | .defaultSimpleSkin a.mceButtonActive {border:1px solid #0A246A; background-color:#C2CBE0} 18 | .defaultSimpleSkin .mceButtonDisabled span {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} 19 | 20 | /* Separator */ 21 | .defaultSimpleSkin .mceSeparator {display:block; background:url(../../img/icons.gif) -180px 0; width:2px; height:20px; margin:0 2px 0 4px} 22 | 23 | /* Theme */ 24 | .defaultSimpleSkin span.mce_bold {background-position:0 0} 25 | .defaultSimpleSkin span.mce_italic {background-position:-60px 0} 26 | .defaultSimpleSkin span.mce_underline {background-position:-140px 0} 27 | .defaultSimpleSkin span.mce_strikethrough {background-position:-120px 0} 28 | .defaultSimpleSkin span.mce_undo {background-position:-160px 0} 29 | .defaultSimpleSkin span.mce_redo {background-position:-100px 0} 30 | .defaultSimpleSkin span.mce_cleanup {background-position:-40px 0} 31 | .defaultSimpleSkin span.mce_insertunorderedlist {background-position:-20px 0} 32 | .defaultSimpleSkin span.mce_insertorderedlist {background-position:-80px 0} 33 | -------------------------------------------------------------------------------- /syntaxhighlight/pygments/formatters/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | plushcms.syntaxhighlight.pygments.formatters 4 | ~~~~~~~~~~~~~~~~~~~ 5 | 6 | Pygments formatters. 7 | 8 | :copyright: Copyright 2006-2010 by the Pygments team, see AUTHORS. 9 | :license: BSD, see LICENSE for details. 10 | """ 11 | import os.path 12 | import fnmatch 13 | 14 | from plushcms.syntaxhighlight.pygments.formatters._mapping import FORMATTERS 15 | from plushcms.syntaxhighlight.pygments.plugin import find_plugin_formatters 16 | from plushcms.syntaxhighlight.pygments.util import ClassNotFound 17 | 18 | ns = globals() 19 | for fcls in FORMATTERS: 20 | ns[fcls.__name__] = fcls 21 | del fcls 22 | 23 | __all__ = ['get_formatter_by_name', 'get_formatter_for_filename', 24 | 'get_all_formatters'] + [cls.__name__ for cls in FORMATTERS] 25 | 26 | 27 | _formatter_alias_cache = {} 28 | _formatter_filename_cache = [] 29 | 30 | def _init_formatter_cache(): 31 | if _formatter_alias_cache: 32 | return 33 | for cls in get_all_formatters(): 34 | for alias in cls.aliases: 35 | _formatter_alias_cache[alias] = cls 36 | for fn in cls.filenames: 37 | _formatter_filename_cache.append((fn, cls)) 38 | 39 | 40 | def find_formatter_class(name): 41 | _init_formatter_cache() 42 | cls = _formatter_alias_cache.get(name, None) 43 | return cls 44 | 45 | 46 | def get_formatter_by_name(name, **options): 47 | _init_formatter_cache() 48 | cls = _formatter_alias_cache.get(name, None) 49 | if not cls: 50 | raise ClassNotFound("No formatter found for name %r" % name) 51 | return cls(**options) 52 | 53 | 54 | def get_formatter_for_filename(fn, **options): 55 | _init_formatter_cache() 56 | fn = os.path.basename(fn) 57 | for pattern, cls in _formatter_filename_cache: 58 | if fnmatch.fnmatch(fn, pattern): 59 | return cls(**options) 60 | raise ClassNotFound("No formatter found for file name %r" % fn) 61 | 62 | 63 | def get_all_formatters(): 64 | """Return a generator for all formatters.""" 65 | for formatter in FORMATTERS: 66 | yield formatter 67 | for _, formatter in find_plugin_formatters(): 68 | yield formatter 69 | -------------------------------------------------------------------------------- /syntaxhighlight/external/markdown-processor.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | The Pygments Markdown Preprocessor 4 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 | 6 | This fragment is a Markdown_ preprocessor that renders source code 7 | to HTML via Pygments. To use it, invoke Markdown like so:: 8 | 9 | from markdown import Markdown 10 | 11 | md = Markdown() 12 | md.textPreprocessors.insert(0, CodeBlockPreprocessor()) 13 | html = md.convert(someText) 14 | 15 | markdown is then a callable that can be passed to the context of 16 | a template and used in that template, for example. 17 | 18 | This uses CSS classes by default, so use 19 | ``pygmentize -S -f html > pygments.css`` 20 | to create a stylesheet to be added to the website. 21 | 22 | You can then highlight source code in your markdown markup:: 23 | 24 | [sourcecode:lexer] 25 | some code 26 | [/sourcecode] 27 | 28 | .. _Markdown: http://www.freewisdom.org/projects/python-markdown/ 29 | 30 | :copyright: Copyright 2006-2010 by the Pygments team, see AUTHORS. 31 | :license: BSD, see LICENSE for details. 32 | """ 33 | 34 | # Options 35 | # ~~~~~~~ 36 | 37 | # Set to True if you want inline CSS styles instead of classes 38 | INLINESTYLES = False 39 | 40 | 41 | import re 42 | 43 | from markdown import TextPreprocessor 44 | 45 | from pygments import highlight 46 | from pygments.formatters import HtmlFormatter 47 | from pygments.lexers import get_lexer_by_name, TextLexer 48 | 49 | 50 | class CodeBlockPreprocessor(TextPreprocessor): 51 | 52 | pattern = re.compile( 53 | r'\[sourcecode:(.+?)\](.+?)\[/sourcecode\]', re.S) 54 | 55 | formatter = HtmlFormatter(noclasses=INLINESTYLES) 56 | 57 | def run(self, lines): 58 | def repl(m): 59 | try: 60 | lexer = get_lexer_by_name(m.group(1)) 61 | except ValueError: 62 | lexer = TextLexer() 63 | code = highlight(m.group(2), lexer, self.formatter) 64 | code = code.replace('\n\n', '\n \n').replace('\n', '
    ') 65 | return '\n\n
    %s
    \n\n' % code 66 | return self.pattern.sub( 67 | repl, lines) -------------------------------------------------------------------------------- /img/js/tiny_mce/plugins/media/js/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 += ''; 64 | 65 | h += ''; 64 | 65 | h += '