├── .gitignore ├── .npmignore ├── Contributing.md ├── History.md ├── LICENSE.md ├── README.md ├── apps ├── Application.js ├── Dynamic.js └── Static.js ├── bin ├── create_site.js └── remove_site ├── controllers ├── ContactController.js ├── Controller.js ├── DashboardController.js ├── EmailController.js ├── FileController.js ├── FormController.js ├── FormDataController.js ├── ImageController.js ├── LoginController.js ├── PageController.js ├── StylesController.js ├── SystemController.js ├── TemplateController.js ├── TreeController.js └── UserController.js ├── doc ├── Context.txt ├── empty │ ├── controllers │ │ └── YourController.js │ ├── empty.sql │ ├── index.js │ ├── locales │ │ ├── en.json │ │ └── zh-CN.json │ ├── static │ │ ├── css │ │ │ └── front.css │ │ ├── favicon.ico │ │ ├── images │ │ │ ├── icon_calendar.png │ │ │ ├── icon_cross_circle.png │ │ │ ├── icon_tick_circle.png │ │ │ └── logo.png │ │ └── js │ │ │ └── script.js │ └── views │ │ ├── content.ejs │ │ ├── footer.ejs │ │ ├── header.ejs │ │ ├── index.ejs │ │ ├── intros.ejs │ │ ├── menu-left.ejs │ │ ├── menu-top.ejs │ │ └── page.ejs ├── hosting_sqlbased │ ├── codymaster.sql │ └── index.js └── todo.txt ├── index.js ├── makeWebApp.js ├── models ├── Atom.js ├── Content.js ├── Context.js ├── Item.js ├── Meta.js ├── Model.js ├── Page.js ├── Path.js ├── Template.js ├── User.js └── Website.js ├── package-lock.json ├── package.json ├── startWebApp.js ├── startserver.js ├── static ├── css │ ├── cody.css │ └── ui-lightness │ │ ├── images │ │ ├── animated-overlay.gif │ │ ├── ui-bg_diagonals-thick_18_b81900_40x40.png │ │ ├── ui-bg_diagonals-thick_20_666666_40x40.png │ │ ├── ui-bg_flat_10_000000_40x100.png │ │ ├── ui-bg_glass_100_f6f6f6_1x400.png │ │ ├── ui-bg_glass_100_fdf5ce_1x400.png │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ ├── ui-bg_gloss-wave_35_f6a828_500x100.png │ │ ├── ui-bg_highlight-soft_100_eeeeee_1x100.png │ │ ├── ui-bg_highlight-soft_75_ffe45c_1x100.png │ │ ├── ui-icons_222222_256x240.png │ │ ├── ui-icons_228ef1_256x240.png │ │ ├── ui-icons_ef8c08_256x240.png │ │ ├── ui-icons_ffd27a_256x240.png │ │ └── ui-icons_ffffff_256x240.png │ │ ├── jquery-ui-1.10.1.css │ │ └── jquery-ui-1.10.1.min.css ├── extentions │ ├── 7z.png │ ├── ai.png │ ├── aiff.png │ ├── asc.png │ ├── audio.png │ ├── bin.png │ ├── bz2.png │ ├── c.png │ ├── cfc.png │ ├── cfm.png │ ├── chm.png │ ├── class.png │ ├── conf.png │ ├── cpp.png │ ├── cs.png │ ├── css.png │ ├── csv.png │ ├── deb.png │ ├── divx.png │ ├── doc.png │ ├── docx.png │ ├── dot.png │ ├── ele.gif │ ├── eml.png │ ├── enc.png │ ├── file.png │ ├── folder.png │ ├── frm.gif │ ├── gif.png │ ├── gz.png │ ├── hlp.png │ ├── htm.png │ ├── html.png │ ├── image.png │ ├── iso.png │ ├── jar.png │ ├── java.png │ ├── jpeg.png │ ├── jpg.png │ ├── js.png │ ├── lua.png │ ├── m.png │ ├── mm.png │ ├── mov.png │ ├── mp3.png │ ├── mpg.png │ ├── odc.png │ ├── odf.png │ ├── odg.png │ ├── odi.png │ ├── odp.png │ ├── ods.png │ ├── odt.png │ ├── ogg.png │ ├── pdf.png │ ├── pgp.png │ ├── php.png │ ├── pl.png │ ├── png.png │ ├── ppt.png │ ├── pptx.png │ ├── ps.png │ ├── py.png │ ├── ram.png │ ├── rar.png │ ├── rb.png │ ├── rm.png │ ├── rpm.png │ ├── rtf.png │ ├── sig.png │ ├── sql.png │ ├── swf.png │ ├── sxc.png │ ├── sxd.png │ ├── sxi.png │ ├── sxw.png │ ├── tar.png │ ├── tex.png │ ├── tgz.png │ ├── txt.png │ ├── vcf.png │ ├── video.png │ ├── vsd.png │ ├── wav.png │ ├── wma.png │ ├── wmv.png │ ├── xls.png │ ├── xlsx.png │ ├── xml.png │ ├── xpi.png │ └── xvid.png ├── icons │ ├── B.png │ ├── C.png │ ├── F.png │ ├── H.png │ ├── I.png │ ├── M.png │ ├── P.png │ ├── S - string.png │ ├── S.png │ └── T.png ├── images │ ├── codyforkB.png │ ├── favicon.ico │ ├── howestB.png │ ├── icon_calendar.png │ ├── icon_cross_circle.png │ ├── icon_tick_circle.png │ ├── logoMC.png │ └── nodeB.png └── js │ ├── atom-tree.js │ ├── lib │ ├── html5shiv.js │ ├── jquery-1.9.1.js │ ├── jquery-1.9.1.min.js │ ├── jquery-ui-1.10.1.js │ ├── jquery-ui-1.10.1.min.js │ ├── jquery.jstree.js │ ├── jquery.tools.min.js │ ├── jquery.validate.js │ ├── jquery.validate.min.js │ ├── localization │ │ ├── jquery.ui.datepicker-de.js │ │ ├── jquery.ui.datepicker-en.js │ │ ├── jquery.ui.datepicker-es.js │ │ ├── jquery.ui.datepicker-fr.js │ │ ├── jquery.ui.datepicker-nl.js │ │ ├── messages_de.js │ │ ├── messages_en.js │ │ ├── messages_es.js │ │ ├── messages_fr.js │ │ └── messages_nl.js │ └── themes │ │ ├── apple │ │ ├── bg.jpg │ │ ├── d.png │ │ ├── dot_for_ie.gif │ │ ├── style.css │ │ └── throbber.gif │ │ ├── classic │ │ ├── d.gif │ │ ├── d.png │ │ ├── dot_for_ie.gif │ │ ├── style.css │ │ └── throbber.gif │ │ └── default │ │ ├── d.gif │ │ ├── d.png │ │ ├── style.css │ │ └── throbber.gif │ ├── pages-editor.js │ ├── script.js │ └── tinymce │ ├── jquery.tinymce.js │ ├── langs │ └── en.js │ ├── license.txt │ ├── plugins │ ├── advhr │ │ ├── css │ │ │ └── advhr.css │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── js │ │ │ └── rule.js │ │ ├── langs │ │ │ └── en_dlg.js │ │ └── rule.htm │ ├── advimage │ │ ├── css │ │ │ └── advimage.css │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── image.htm │ │ ├── img │ │ │ └── sample.gif │ │ ├── js │ │ │ └── image.js │ │ └── langs │ │ │ └── en_dlg.js │ ├── advlink │ │ ├── css │ │ │ └── advlink.css │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── js │ │ │ └── advlink.js │ │ ├── langs │ │ │ └── en_dlg.js │ │ └── link.htm │ ├── advlist │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── autolink │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── autoresize │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── autosave │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── bbcode │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── contextmenu │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── directionality │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── emotions │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── emotions.htm │ │ ├── img │ │ │ ├── smiley-cool.gif │ │ │ ├── smiley-cry.gif │ │ │ ├── smiley-embarassed.gif │ │ │ ├── smiley-foot-in-mouth.gif │ │ │ ├── smiley-frown.gif │ │ │ ├── smiley-innocent.gif │ │ │ ├── smiley-kiss.gif │ │ │ ├── smiley-laughing.gif │ │ │ ├── smiley-money-mouth.gif │ │ │ ├── smiley-sealed.gif │ │ │ ├── smiley-smile.gif │ │ │ ├── smiley-surprised.gif │ │ │ ├── smiley-tongue-out.gif │ │ │ ├── smiley-undecided.gif │ │ │ ├── smiley-wink.gif │ │ │ └── smiley-yell.gif │ │ ├── js │ │ │ └── emotions.js │ │ └── langs │ │ │ └── en_dlg.js │ ├── example │ │ ├── dialog.htm │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── img │ │ │ └── example.gif │ │ ├── js │ │ │ └── dialog.js │ │ └── langs │ │ │ ├── en.js │ │ │ └── en_dlg.js │ ├── example_dependency │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── fullpage │ │ ├── css │ │ │ └── fullpage.css │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── fullpage.htm │ │ ├── js │ │ │ └── fullpage.js │ │ └── langs │ │ │ └── en_dlg.js │ ├── fullscreen │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ └── fullscreen.htm │ ├── iespell │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── inlinepopups │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── skins │ │ │ └── clearlooks2 │ │ │ │ ├── img │ │ │ │ ├── alert.gif │ │ │ │ ├── button.gif │ │ │ │ ├── buttons.gif │ │ │ │ ├── confirm.gif │ │ │ │ ├── corners.gif │ │ │ │ ├── horizontal.gif │ │ │ │ └── vertical.gif │ │ │ │ └── window.css │ │ └── template.htm │ ├── insertdatetime │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── layer │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── legacyoutput │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── lists │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── media │ │ ├── css │ │ │ └── media.css │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── js │ │ │ ├── embed.js │ │ │ └── media.js │ │ ├── langs │ │ │ └── en_dlg.js │ │ ├── media.htm │ │ └── moxieplayer.swf │ ├── nonbreaking │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── noneditable │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── pagebreak │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── paste │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── js │ │ │ ├── pastetext.js │ │ │ └── pasteword.js │ │ ├── langs │ │ │ └── en_dlg.js │ │ ├── pastetext.htm │ │ └── pasteword.htm │ ├── preview │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── example.html │ │ ├── jscripts │ │ │ └── embed.js │ │ └── preview.html │ ├── print │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── save │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── searchreplace │ │ ├── css │ │ │ └── searchreplace.css │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── js │ │ │ └── searchreplace.js │ │ ├── langs │ │ │ └── en_dlg.js │ │ └── searchreplace.htm │ ├── spellchecker │ │ ├── css │ │ │ └── content.css │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ └── img │ │ │ └── wline.gif │ ├── style │ │ ├── css │ │ │ └── props.css │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── js │ │ │ └── props.js │ │ ├── langs │ │ │ └── en_dlg.js │ │ ├── props.htm │ │ └── readme.txt │ ├── tabfocus │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── table │ │ ├── cell.htm │ │ ├── css │ │ │ ├── cell.css │ │ │ ├── row.css │ │ │ └── table.css │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── js │ │ │ ├── cell.js │ │ │ ├── merge_cells.js │ │ │ ├── row.js │ │ │ └── table.js │ │ ├── langs │ │ │ └── en_dlg.js │ │ ├── merge_cells.htm │ │ ├── row.htm │ │ └── table.htm │ ├── template │ │ ├── blank.htm │ │ ├── css │ │ │ └── template.css │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── js │ │ │ └── template.js │ │ ├── langs │ │ │ └── en_dlg.js │ │ └── template.htm │ ├── visualblocks │ │ ├── css │ │ │ └── visualblocks.css │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── visualchars │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ ├── wordcount │ │ ├── editor_plugin.js │ │ └── editor_plugin_src.js │ └── xhtmlxtras │ │ ├── abbr.htm │ │ ├── acronym.htm │ │ ├── attributes.htm │ │ ├── cite.htm │ │ ├── css │ │ ├── attributes.css │ │ └── popup.css │ │ ├── del.htm │ │ ├── editor_plugin.js │ │ ├── editor_plugin_src.js │ │ ├── ins.htm │ │ ├── js │ │ ├── abbr.js │ │ ├── acronym.js │ │ ├── attributes.js │ │ ├── cite.js │ │ ├── del.js │ │ ├── element_common.js │ │ └── ins.js │ │ └── langs │ │ └── en_dlg.js │ ├── themes │ ├── advanced │ │ ├── about.htm │ │ ├── anchor.htm │ │ ├── charmap.htm │ │ ├── color_picker.htm │ │ ├── editor_template.js │ │ ├── editor_template_src.js │ │ ├── image.htm │ │ ├── img │ │ │ ├── colorpicker.jpg │ │ │ ├── flash.gif │ │ │ ├── icons.gif │ │ │ ├── iframe.gif │ │ │ ├── pagebreak.gif │ │ │ ├── quicktime.gif │ │ │ ├── realmedia.gif │ │ │ ├── shockwave.gif │ │ │ ├── trans.gif │ │ │ ├── video.gif │ │ │ └── windowsmedia.gif │ │ ├── js │ │ │ ├── about.js │ │ │ ├── anchor.js │ │ │ ├── charmap.js │ │ │ ├── color_picker.js │ │ │ ├── image.js │ │ │ ├── link.js │ │ │ └── source_editor.js │ │ ├── langs │ │ │ ├── en.js │ │ │ └── en_dlg.js │ │ ├── link.htm │ │ ├── shortcuts.htm │ │ ├── skins │ │ │ ├── default │ │ │ │ ├── content.css │ │ │ │ ├── dialog.css │ │ │ │ ├── img │ │ │ │ │ ├── buttons.png │ │ │ │ │ ├── items.gif │ │ │ │ │ ├── menu_arrow.gif │ │ │ │ │ ├── menu_check.gif │ │ │ │ │ ├── progress.gif │ │ │ │ │ └── tabs.gif │ │ │ │ └── ui.css │ │ │ ├── highcontrast │ │ │ │ ├── content.css │ │ │ │ ├── dialog.css │ │ │ │ └── ui.css │ │ │ └── o2k7 │ │ │ │ ├── content.css │ │ │ │ ├── dialog.css │ │ │ │ ├── img │ │ │ │ ├── button_bg.png │ │ │ │ ├── button_bg_black.png │ │ │ │ └── button_bg_silver.png │ │ │ │ ├── ui.css │ │ │ │ ├── ui_black.css │ │ │ │ └── ui_silver.css │ │ └── source_editor.htm │ └── simple │ │ ├── editor_template.js │ │ ├── editor_template_src.js │ │ ├── img │ │ └── icons.gif │ │ ├── langs │ │ └── en.js │ │ └── skins │ │ ├── default │ │ ├── content.css │ │ └── ui.css │ │ └── o2k7 │ │ ├── content.css │ │ ├── img │ │ └── button_bg.png │ │ └── ui.css │ ├── tiny_mce.js │ ├── tiny_mce_popup.js │ ├── tiny_mce_src.js │ └── utils │ ├── editable_selects.js │ ├── form_utils.js │ ├── mctabs.js │ └── validate.js ├── testing └── testdynamic.js └── views ├── cms ├── comments-ajax.ejs ├── comments.ejs ├── contacts.ejs ├── content-type.ejs ├── dashboard.ejs ├── files-ajax.ejs ├── files.ejs ├── footer.ejs ├── forms-ajax.ejs ├── forms-data.ejs ├── forms-list.ejs ├── forms.ejs ├── header.ejs ├── images-ajax.ejs ├── images.ejs ├── navigation.ejs ├── pages-ajax.ejs ├── pages.ejs ├── styles.ejs ├── system.ejs ├── templates.ejs ├── top.ejs └── users.ejs ├── front └── index.ejs └── login.ejs /.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Project Exclude 3 | # 4 | .idea/ 5 | tests/ 6 | node_modules/ 7 | /doc/todo-jc.txt 8 | # 9 | # OS generated files 10 | # 11 | .DS_Store 12 | .DS_Store? 13 | ._* 14 | .Spotlight-V100 15 | .Trashes 16 | ehthumbs.db 17 | Thumbs.db 18 | *.log 19 | 20 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | archive 2 | bok 3 | codyweb 4 | jsconf 5 | stef 6 | stoerhuus 7 | -------------------------------------------------------------------------------- /Contributing.md: -------------------------------------------------------------------------------- 1 | Contributing 2 | ============ 3 | 4 | We are happy to accept your pull requests. If you do, make sure you clearly explain what and why you changed/added something so we can easily review it. 5 | 6 | * Sadly enough we have no tests yet, but they will be coming soon. 7 | * Make sure your code is linted and follow the general code style: 8 | * "" for strings 9 | * 2 whitespace indentation 10 | * named functions as much as possible 11 | * semi-colons! 12 | * name your captured this "self" 13 | 14 | 15 | Guide to making a pull request can be found here: 16 | 17 | 18 | A shortened version goes as follows: 19 | 20 | I assume you have git command-line installed, if not install from [here](http://git-scm.com/downloads). 21 | 22 | 1) **Fork** this repository by clicking the "Fork" in the upper corner of this page, 23 | or by visiting this link: https://github.com/jcoppieters/cody/fork 24 | 25 | 2) **Clone** your forked repository (probably called linksgo2011/cody) on your local computer ([guide to cloning](https://github.com/jcoppieters/cody/compare/)) 26 | 27 | ```` 28 | $ git clone https://github.com/jcoppieters/cody.git 29 | ```` 30 | 31 | 3) Make a new branch with a name that conveys your change (e.g. "added-unicorns") 32 | 33 | ```` 34 | $ git checkout -b feature_branch_name 35 | ```` 36 | 37 | 4) Make the changes you want to make on the files of the local repository. 38 | 39 | 5) **Commit** the changes. In your local repository do: 40 | 41 | ```` 42 | $ git add . -A 43 | $ git commit -a -m "explain the changes you made. (e.g. I added unicorns)" 44 | ```` 45 | 46 | 6) **Push** the changes to your forked repository on github. In your local repository do: 47 | 48 | ```` 49 | $ git push -u origin feature_branch_name 50 | ```` 51 | 52 | 6) Submit a **Pull Request** by going to your repository on github and clicking the green arrows at the left top, or by visiting this link: https://github.com/jcoppieters/cody/compare/. 53 | Choose your new branch to pull to the jcoppieters/master branch. 54 | 55 | 56 | 57 | 58 | 59 | I hope this helps to get you started, if you got any question/problem along the way just shoot! 60 | 61 | All the best. 62 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Johan Coppieters - Howest. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bin/remove_site: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # this is rubbish... "Creating tree... dropping the database..." 4 | # we should look at the config.json 5 | # and remove the used directories (asking confirmation for each one) 6 | # and drop the database in the config file 7 | 8 | exit 9 | 10 | 11 | realpkgroot="${PWD}/node_modules/cody" 12 | echo Creating cody web tree in current directory 13 | echo -n "1) Enter sitename: " 14 | read sitename 15 | echo -n "2) Enter site database user: " 16 | read dbuser 17 | echo "Note: the mysql root password is empty by default (just press enter)" 18 | echo -n "3) Enter mysql root password: " 19 | read dbrootpw 20 | read -n "Are you sure you want to delete ${sitename}? [y/n]" 21 | read proceed 22 | 23 | if [proceed]; then 24 | mysql --user=root "--password=$dbrootpw" -e "drop database $sitename" 25 | mysql --user=root "--password=$dbrootpw" -e "drop user $dbuser" 26 | 27 | echo "Site '$sitename' database has been removed." 28 | fi -------------------------------------------------------------------------------- /controllers/DashboardController.js: -------------------------------------------------------------------------------- 1 | // 2 | // Johan Coppieters - may 2013 - cody 3 | // 4 | // 5 | console.log("loading " + module.id); 6 | 7 | var cody = require("../index.js"); 8 | 9 | 10 | function DashboardController(context) { 11 | console.log("DashboardController.constructor -> page(" + context.page.itemId + ") = " + context.page.title + ", request = " + context.request); 12 | 13 | // init inherited controller 14 | cody.Controller.call(this, context); 15 | } 16 | 17 | DashboardController.prototype = Object.create( cody.Controller.prototype ); 18 | module.exports = DashboardController; 19 | 20 | 21 | 22 | DashboardController.prototype.doRequest = function( finish ) { 23 | var self = this; 24 | 25 | finish(); 26 | }; 27 | 28 | 29 | -------------------------------------------------------------------------------- /controllers/EmailController.js: -------------------------------------------------------------------------------- 1 | // 2 | // Laurens Ramandt - june 2013 - cody 3 | // 4 | // 5 | 6 | // this class abstracts nodemailer, just in case we would switch from nodemailer to something else 7 | // npm install nodemailer required 8 | 9 | var nodemailer = require("nodemailer"); 10 | var cody = require("./../index.js"); 11 | function EmailController (context) { 12 | console.log("EmailController construct"); 13 | cody.Controller.call(this, context); 14 | } 15 | 16 | EmailController.sendEmail = function (pFrom, pTo, pSubject, pText) { 17 | console.log("Sending email from " + pFrom + " to " + pTo); 18 | 19 | var mailOptions = { 20 | from: pFrom, // sender address 21 | to: pTo, // list of receivers 22 | subject: pSubject, // Subject line 23 | html: pText // HTML body 24 | }; 25 | 26 | //TODO: for production, modify this to use /usr/bin/sendmail 27 | var smtpTransport = nodemailer.createTransport("SMTP", { 28 | host: "smtp.scarlet.be", //change this to match your server 29 | secureConnection: false, 30 | port: 25/*, 31 | auth: { 32 | user: "user@domain.com", 33 | pass: "password" 34 | } */ 35 | }); 36 | 37 | smtpTransport.sendMail(mailOptions, function (error, response) { 38 | if (error) { 39 | console.log("Error sending mail: " + error); 40 | } else { 41 | console.log("Message sent: " + response.message); 42 | } 43 | }); 44 | 45 | }; 46 | 47 | 48 | EmailController.prototype = Object.create( cody.Controller.prototype ); 49 | module.exports = EmailController; -------------------------------------------------------------------------------- /controllers/FileController.js: -------------------------------------------------------------------------------- 1 | // 2 | // Johan Coppieters - jan 2013 - jWorks 3 | // 4 | // 5 | var mysql = require("mysql2"); 6 | var cody = require('../index.js'); 7 | 8 | console.log("loading " + module.id); 9 | 10 | 11 | function FileController(context) { 12 | console.log("FileController.constructor -> page(" + context.page.itemId + ") = " + context.page.title + ", request = " + context.request); 13 | 14 | // init inherited controller 15 | cody.TreeController.call(this, context); 16 | 17 | } 18 | 19 | FileController.prototype = Object.create( cody.TreeController.prototype ); 20 | module.exports = FileController; 21 | 22 | 23 | 24 | FileController.prototype.doRequest = function( finish ) { 25 | var self = this; 26 | 27 | if (self.isRequest("xxx")) { 28 | // needed ? 29 | finish(""); 30 | 31 | } else { 32 | cody.TreeController.prototype.doRequest.call(self, finish); 33 | 34 | } 35 | }; 36 | 37 | 38 | FileController.prototype.getRoot = function() { 39 | return cody.Application.kFileRoot; 40 | }; 41 | FileController.prototype.getType = function(theNode) { 42 | return ((theNode.extention === "xxx") || (theNode.extention === "")) ? "folder" : "file"; 43 | }; 44 | FileController.prototype.getObject = function(id) { 45 | return this.app.getAtom(id); 46 | }; 47 | FileController.prototype.getFolder = function() { 48 | return "/files"; 49 | }; 50 | 51 | 52 | /* Overridden - Action functions */ 53 | 54 | 55 | -------------------------------------------------------------------------------- /controllers/ImageController.js: -------------------------------------------------------------------------------- 1 | // 2 | // Johan Coppieters - jan 2013 - jWorks 3 | // 4 | // 5 | var mysql = require("mysql2"); 6 | var cody = require('../index.js'); 7 | 8 | console.log("loading " + module.id); 9 | 10 | 11 | function ImageController(context) { 12 | console.log("ImageController.constructor -> page(" + context.page.itemId + ") = " + 13 | context.page.title + ", request = " + context.request); 14 | 15 | // init inherited controller 16 | cody.TreeController.call(this, context); 17 | 18 | } 19 | 20 | ImageController.prototype = Object.create( cody.TreeController.prototype ); 21 | module.exports = ImageController; 22 | 23 | 24 | 25 | ImageController.prototype.doRequest = function( finish ) { 26 | var self = this; 27 | 28 | //self.context.fn = "-/cms/images.ejs"; 29 | 30 | if (self.isRequest("imagelist")) { 31 | self.getImageList(); 32 | finish(""); 33 | 34 | } else { 35 | cody.TreeController.prototype.doRequest.call(self, finish); 36 | 37 | } 38 | }; 39 | 40 | 41 | ImageController.prototype.getRoot = function() { 42 | return cody.Application.kImageRoot; 43 | }; 44 | ImageController.prototype.getType = function(theNode) { 45 | return ((theNode.extention === "xxx") || (theNode.extention === "")) ? "folder" : "image"; 46 | }; 47 | ImageController.prototype.getObject = function(id) { 48 | return this.app.getAtom(id); 49 | }; 50 | ImageController.prototype.getFolder = function() { 51 | return "/images"; 52 | }; 53 | 54 | 55 | /* Overridden - Action functions */ 56 | 57 | 58 | /* specific functions */ 59 | ImageController.prototype.getImageList = function() { 60 | console.log("Received ImageController - getImageList"); 61 | 62 | this.gen("var tinyMCEImageList = " + this.getArray( this.getRoot() ) + ";", 63 | {"Content-type": "application/javascript"}); 64 | //TODO: add headers: "pragma": "no-cache", "expires": "0" ? 65 | }; 66 | 67 | 68 | -------------------------------------------------------------------------------- /doc/empty/controllers/YourController.js: -------------------------------------------------------------------------------- 1 | console.log("loading " + module.id); 2 | var cody = require("cody"); 3 | 4 | 5 | function YourController(context) { 6 | 7 | // init inherited Controller 8 | cody.Controller.call(this, context); 9 | } 10 | YourController.prototype = Object.create(cody.Controller.prototype); 11 | 12 | 13 | YourController.prototype.doRequest = function( finish ) { 14 | var self = this; 15 | 16 | // 1) do the necessary model operations 17 | 18 | // 2) return a result: 19 | // 20 | // a) render the attached view of this controller 21 | finish(); 22 | 23 | // b) render the view with given path: 24 | // finish('views/yourview.ejs') 25 | 26 | // c) if you don't want any rendering to be done: 27 | // pass an empty string (or set this.context.fn to empty) 28 | // finish('') 29 | 30 | // d) return json: 31 | // finish({foo: 'bar'}); 32 | 33 | // e) you can let the super controller handle the request 34 | // cody.Controller.prototype.doRequest.call(self, finish); 35 | 36 | // more... 37 | }; 38 | 39 | module.exports = YourController; -------------------------------------------------------------------------------- /doc/empty/locales/en.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /doc/empty/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/doc/empty/static/favicon.ico -------------------------------------------------------------------------------- /doc/empty/static/images/icon_calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/doc/empty/static/images/icon_calendar.png -------------------------------------------------------------------------------- /doc/empty/static/images/icon_cross_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/doc/empty/static/images/icon_cross_circle.png -------------------------------------------------------------------------------- /doc/empty/static/images/icon_tick_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/doc/empty/static/images/icon_tick_circle.png -------------------------------------------------------------------------------- /doc/empty/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/doc/empty/static/images/logo.png -------------------------------------------------------------------------------- /doc/empty/static/js/script.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | 3 | 4 | }); -------------------------------------------------------------------------------- /doc/empty/views/content.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <%- include("header.ejs") %> 11 | 12 | 13 |
14 | 15 | <%- include("menu-top.ejs") %> 16 | 17 |
18 | 19 | <% var theChildren = []; %> 20 | <%- include("menu-left.ejs") %> 21 | 22 |
23 |
24 |

<%= page.title %>

25 | 26 | <%- render({intro: 'N'}) %> 27 |
28 |
29 |
30 | 31 | <%- include("footer.ejs") %> 32 |
33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /doc/empty/views/footer.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /doc/empty/views/header.ejs: -------------------------------------------------------------------------------- 1 | 2 | <%=page.title%> | <%= (page.parent != page.root) ? (page.parent.title + ' | ') : '' %> <%= page.root.title %> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | <% var analytics = page.root.getContent("Google Analytics code"); %> 25 | <% if (typeof analytics !== "undefined") { %> 26 | 38 | <% } %> 39 | 40 | 43 | 44 | 48 | -------------------------------------------------------------------------------- /doc/empty/views/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <%- include("header.ejs") %> 11 | 12 | 13 |
14 | 15 | <%- include("menu-top.ejs") %> 16 | 17 |
18 | 19 | <% var theChildren = []; %> 20 | <%- include("menu-left.ejs") %> 21 | 22 |
23 |
24 |

<%= page.title %>

25 | 26 | <%- render() %> 27 |
28 |
29 |
30 | 31 | <%- include("footer.ejs") %> 32 |
33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /doc/empty/views/intros.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <%- include("header.ejs") %> 11 | 12 | 13 | <%- include("menu-top %> 14 | 15 | 16 | 17 | 18 |
19 | <% var theChildren = (page.item.parentId == 1) ? page.children : page.parent.children; %> 20 | 21 |
22 |

<%= page.title %>

23 | 24 |
25 | <%- render() %> 26 |
27 | 28 | <% for (var icp in page.children) { 29 | var CP = page.children[icp]; %> 30 |
31 |

<%= CP.title %>

32 | 33 | <%- render({page: CP, intro: 'Y'}) %> 34 | 35 | <%= CP.title %> 36 |
37 | <% } %> 38 |
39 |
40 | 41 | <%- include("footer.ejs") %> 42 | 43 | 44 | -------------------------------------------------------------------------------- /doc/empty/views/menu-left.ejs: -------------------------------------------------------------------------------- 1 | <% var theChildren = (page.item.parentId == 1) ? page.children : page.parent.children; %> 2 | 3 | <% if (theChildren.length > 0) { %> 4 | 15 | <% } %> -------------------------------------------------------------------------------- /doc/empty/views/menu-top.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 19 | 20 | 29 | 30 | 31 | <% var pp = page.root.getContent('phone'); %> 32 | <% var aa = page.root.getContent('address'); %> 33 | 34 | <% if (pp || aa) { %> 35 |
36 | <% if (typeof pp !== "undefined") { %> 37 |
<%= pp.render() %>
38 | <% } %> 39 | <% if (typeof aa !== "undefined") { %> 40 |
<%= aa.render() %>
41 | <% } %> 42 |
43 | <% } %> 44 | 45 | 46 | 47 |
-------------------------------------------------------------------------------- /doc/empty/views/page.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <%- include("header.ejs") %> 11 | 12 | 13 |
14 | 15 | <%- include("menu-top.ejs") %> 16 | 17 |
18 | 19 | <% var theChildren = []; %> 20 | <%- include("menu-left.ejs") %> 21 | 22 |
23 |
24 |

<%= page.title %>

25 | 26 | <%- render() %> 27 |
28 |
29 |
30 | 31 | <%- include("footer.ejs") %> 32 |
33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /doc/hosting_sqlbased/codymaster.sql: -------------------------------------------------------------------------------- 1 | set names utf8; 2 | /*!40101 SET NAMES utf8 */; 3 | 4 | CREATE DATABASE cody DEFAULT CHARSET=utf8; 5 | USE cody; 6 | grant all privileges on cody.* to 'cody'@'localhost'; 7 | grant all privileges on cody.* to 'cody'@'%'; 8 | 9 | SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; 10 | SET time_zone = "+00:00"; 11 | 12 | 13 | -- 14 | -- Databank: `cody` 15 | -- 16 | 17 | -- -------------------------------------------------------- 18 | 19 | -- 20 | -- Tabelstructuur voor tabel `websites` 21 | -- 22 | 23 | CREATE TABLE IF NOT EXISTS `websites` ( 24 | `id` int(11) NOT NULL AUTO_INCREMENT, 25 | `name` varchar(100) NOT NULL, 26 | `version` char(100) NOT NULL, 27 | `defaultlanguage` varchar(2) NOT NULL, 28 | `dbuser` varchar(100) NOT NULL, 29 | `dbpassword` varchar(100) NOT NULL, 30 | `dbhost` varchar(100) NOT NULL, 31 | `datapath` varchar(200) NOT NULL, 32 | `db` varchar(100) NOT NULL, 33 | `active` char(1) NOT NULL, 34 | `ownerconfirmed` char(1) NOT NULL, 35 | `hostname` varchar(100) NOT NULL 36 | PRIMARY KEY (`id`) 37 | ) DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ; 38 | 39 | create unique index nameIndex on cody.websites(name); 40 | -------------------------------------------------------------------------------- /models/Path.js: -------------------------------------------------------------------------------- 1 | function Path( path, deflanguage ) { 2 | // eliminate leading "/" 3 | if(path.indexOf("/") === 0){ 4 | path = path.substring(1); 5 | } 6 | 7 | this.language = deflanguage; 8 | this.domain = ""; 9 | this.request = ""; 10 | this.id = ""; 11 | this.path = path; 12 | 13 | // language 14 | var i = path.indexOf("/"); 15 | if (i > 0 ) { 16 | this.language = path.substring(0, i); 17 | 18 | // domain or page link without the language 19 | path = path.substring(i+1); 20 | i = path.indexOf("/"); 21 | if (i <= 0) { 22 | this.domain = path; 23 | } else { 24 | this.domain = path.substring(0, i); 25 | 26 | // subdomain or request 27 | path = path.substring(i + 1); 28 | i = path.indexOf("/"); 29 | if (i <= 0) { 30 | this.request = path; 31 | } else { 32 | this.request = path.substring(0, i); 33 | 34 | // id 35 | path = path.substring(i + 1); 36 | i = path.indexOf("/"); 37 | this.id = (i > 0) ? path.substring(0, i) : path; 38 | } 39 | } 40 | } 41 | 42 | this.pagelink = this.language + "/" + this.domain; 43 | this.link = "/" + this.pagelink; 44 | 45 | // console.log(this); 46 | } 47 | 48 | module.exports = Path; -------------------------------------------------------------------------------- /models/Website.js: -------------------------------------------------------------------------------- 1 | // 2 | // Johan Coppieters - may 2013 - cody 3 | // 4 | // 5 | console.log("loading " + module.id); 6 | 7 | var cody = require("../index.js"); 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Howest" 4 | }, 5 | "name": "cody", 6 | "description": "Cody CMS", 7 | "version": "4.0.15", 8 | "license": "MIT", 9 | "repository": { 10 | "type": "git", 11 | "url": "git+ssh://git@github.com/jcoppieters/cody.git" 12 | }, 13 | "scripts": { 14 | "pre-publish": "echo 'Update version in package.json & npm i -> package-lock.json; git commit / publish; git tag vx.y.z;'", 15 | "do-publish": "npm publish; git push; git push --tags", 16 | "upublish": "npm unpublish cody@4.0.14" 17 | }, 18 | "main": "./index", 19 | "keywords": [ 20 | "cody", 21 | "cms", 22 | "howest" 23 | ], 24 | "dependencies": { 25 | "body-parser": "^1.6.7", 26 | "ejs": "^3.1.10", 27 | "express": "4.x", 28 | "express-session": "1.x", 29 | "i18n": "^0.5.0", 30 | "mime": "1.x", 31 | "multer": "^1.4.5-lts.2", 32 | "mysql2": "^3.14.1", 33 | "nodemailer": "^7.0.2", 34 | "vhost": "2.x" 35 | }, 36 | "engines": { 37 | "node": "*" 38 | }, 39 | "readme": "Cody CMS\n\nFor documentation see: \n- https://github.com/jcoppieters/cody and/or \n- http://www.cody-cms.org\n\nContact us at johan.coppieters@howest.be\n\nThe Cody team.\n", 40 | "readmeFilename": "README.md" 41 | } 42 | -------------------------------------------------------------------------------- /static/css/ui-lightness/images/animated-overlay.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/animated-overlay.gif -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-icons_228ef1_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png -------------------------------------------------------------------------------- /static/css/ui-lightness/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/css/ui-lightness/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /static/extentions/7z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/7z.png -------------------------------------------------------------------------------- /static/extentions/ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/ai.png -------------------------------------------------------------------------------- /static/extentions/aiff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/aiff.png -------------------------------------------------------------------------------- /static/extentions/asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/asc.png -------------------------------------------------------------------------------- /static/extentions/audio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/audio.png -------------------------------------------------------------------------------- /static/extentions/bin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/bin.png -------------------------------------------------------------------------------- /static/extentions/bz2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/bz2.png -------------------------------------------------------------------------------- /static/extentions/c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/c.png -------------------------------------------------------------------------------- /static/extentions/cfc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/cfc.png -------------------------------------------------------------------------------- /static/extentions/cfm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/cfm.png -------------------------------------------------------------------------------- /static/extentions/chm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/chm.png -------------------------------------------------------------------------------- /static/extentions/class.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/class.png -------------------------------------------------------------------------------- /static/extentions/conf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/conf.png -------------------------------------------------------------------------------- /static/extentions/cpp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/cpp.png -------------------------------------------------------------------------------- /static/extentions/cs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/cs.png -------------------------------------------------------------------------------- /static/extentions/css.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/css.png -------------------------------------------------------------------------------- /static/extentions/csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/csv.png -------------------------------------------------------------------------------- /static/extentions/deb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/deb.png -------------------------------------------------------------------------------- /static/extentions/divx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/divx.png -------------------------------------------------------------------------------- /static/extentions/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/doc.png -------------------------------------------------------------------------------- /static/extentions/docx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/docx.png -------------------------------------------------------------------------------- /static/extentions/dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/dot.png -------------------------------------------------------------------------------- /static/extentions/ele.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/ele.gif -------------------------------------------------------------------------------- /static/extentions/eml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/eml.png -------------------------------------------------------------------------------- /static/extentions/enc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/enc.png -------------------------------------------------------------------------------- /static/extentions/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/file.png -------------------------------------------------------------------------------- /static/extentions/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/folder.png -------------------------------------------------------------------------------- /static/extentions/frm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/frm.gif -------------------------------------------------------------------------------- /static/extentions/gif.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/gif.png -------------------------------------------------------------------------------- /static/extentions/gz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/gz.png -------------------------------------------------------------------------------- /static/extentions/hlp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/hlp.png -------------------------------------------------------------------------------- /static/extentions/htm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/htm.png -------------------------------------------------------------------------------- /static/extentions/html.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/html.png -------------------------------------------------------------------------------- /static/extentions/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/image.png -------------------------------------------------------------------------------- /static/extentions/iso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/iso.png -------------------------------------------------------------------------------- /static/extentions/jar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/jar.png -------------------------------------------------------------------------------- /static/extentions/java.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/java.png -------------------------------------------------------------------------------- /static/extentions/jpeg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/jpeg.png -------------------------------------------------------------------------------- /static/extentions/jpg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/jpg.png -------------------------------------------------------------------------------- /static/extentions/js.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/js.png -------------------------------------------------------------------------------- /static/extentions/lua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/lua.png -------------------------------------------------------------------------------- /static/extentions/m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/m.png -------------------------------------------------------------------------------- /static/extentions/mm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/mm.png -------------------------------------------------------------------------------- /static/extentions/mov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/mov.png -------------------------------------------------------------------------------- /static/extentions/mp3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/mp3.png -------------------------------------------------------------------------------- /static/extentions/mpg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/mpg.png -------------------------------------------------------------------------------- /static/extentions/odc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/odc.png -------------------------------------------------------------------------------- /static/extentions/odf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/odf.png -------------------------------------------------------------------------------- /static/extentions/odg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/odg.png -------------------------------------------------------------------------------- /static/extentions/odi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/odi.png -------------------------------------------------------------------------------- /static/extentions/odp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/odp.png -------------------------------------------------------------------------------- /static/extentions/ods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/ods.png -------------------------------------------------------------------------------- /static/extentions/odt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/odt.png -------------------------------------------------------------------------------- /static/extentions/ogg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/ogg.png -------------------------------------------------------------------------------- /static/extentions/pdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/pdf.png -------------------------------------------------------------------------------- /static/extentions/pgp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/pgp.png -------------------------------------------------------------------------------- /static/extentions/php.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/php.png -------------------------------------------------------------------------------- /static/extentions/pl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/pl.png -------------------------------------------------------------------------------- /static/extentions/png.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/png.png -------------------------------------------------------------------------------- /static/extentions/ppt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/ppt.png -------------------------------------------------------------------------------- /static/extentions/pptx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/pptx.png -------------------------------------------------------------------------------- /static/extentions/ps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/ps.png -------------------------------------------------------------------------------- /static/extentions/py.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/py.png -------------------------------------------------------------------------------- /static/extentions/ram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/ram.png -------------------------------------------------------------------------------- /static/extentions/rar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/rar.png -------------------------------------------------------------------------------- /static/extentions/rb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/rb.png -------------------------------------------------------------------------------- /static/extentions/rm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/rm.png -------------------------------------------------------------------------------- /static/extentions/rpm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/rpm.png -------------------------------------------------------------------------------- /static/extentions/rtf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/rtf.png -------------------------------------------------------------------------------- /static/extentions/sig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/sig.png -------------------------------------------------------------------------------- /static/extentions/sql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/sql.png -------------------------------------------------------------------------------- /static/extentions/swf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/swf.png -------------------------------------------------------------------------------- /static/extentions/sxc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/sxc.png -------------------------------------------------------------------------------- /static/extentions/sxd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/sxd.png -------------------------------------------------------------------------------- /static/extentions/sxi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/sxi.png -------------------------------------------------------------------------------- /static/extentions/sxw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/sxw.png -------------------------------------------------------------------------------- /static/extentions/tar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/tar.png -------------------------------------------------------------------------------- /static/extentions/tex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/tex.png -------------------------------------------------------------------------------- /static/extentions/tgz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/tgz.png -------------------------------------------------------------------------------- /static/extentions/txt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/txt.png -------------------------------------------------------------------------------- /static/extentions/vcf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/vcf.png -------------------------------------------------------------------------------- /static/extentions/video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/video.png -------------------------------------------------------------------------------- /static/extentions/vsd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/vsd.png -------------------------------------------------------------------------------- /static/extentions/wav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/wav.png -------------------------------------------------------------------------------- /static/extentions/wma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/wma.png -------------------------------------------------------------------------------- /static/extentions/wmv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/wmv.png -------------------------------------------------------------------------------- /static/extentions/xls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/xls.png -------------------------------------------------------------------------------- /static/extentions/xlsx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/xlsx.png -------------------------------------------------------------------------------- /static/extentions/xml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/xml.png -------------------------------------------------------------------------------- /static/extentions/xpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/xpi.png -------------------------------------------------------------------------------- /static/extentions/xvid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/extentions/xvid.png -------------------------------------------------------------------------------- /static/icons/B.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/icons/B.png -------------------------------------------------------------------------------- /static/icons/C.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/icons/C.png -------------------------------------------------------------------------------- /static/icons/F.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/icons/F.png -------------------------------------------------------------------------------- /static/icons/H.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/icons/H.png -------------------------------------------------------------------------------- /static/icons/I.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/icons/I.png -------------------------------------------------------------------------------- /static/icons/M.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/icons/M.png -------------------------------------------------------------------------------- /static/icons/P.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/icons/P.png -------------------------------------------------------------------------------- /static/icons/S - string.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/icons/S - string.png -------------------------------------------------------------------------------- /static/icons/S.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/icons/S.png -------------------------------------------------------------------------------- /static/icons/T.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/icons/T.png -------------------------------------------------------------------------------- /static/images/codyforkB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/images/codyforkB.png -------------------------------------------------------------------------------- /static/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/images/favicon.ico -------------------------------------------------------------------------------- /static/images/howestB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/images/howestB.png -------------------------------------------------------------------------------- /static/images/icon_calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/images/icon_calendar.png -------------------------------------------------------------------------------- /static/images/icon_cross_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/images/icon_cross_circle.png -------------------------------------------------------------------------------- /static/images/icon_tick_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/images/icon_tick_circle.png -------------------------------------------------------------------------------- /static/images/logoMC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/images/logoMC.png -------------------------------------------------------------------------------- /static/images/nodeB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/images/nodeB.png -------------------------------------------------------------------------------- /static/js/lib/localization/jquery.ui.datepicker-de.js: -------------------------------------------------------------------------------- 1 | /* German initialisation for the jQuery UI date picker plugin. */ 2 | /* Written by Milian Wolff (mail@milianw.de). */ 3 | jQuery(function($){ 4 | $.datepicker.regional['de'] = { 5 | closeText: 'Schließen', 6 | prevText: '<Zurück', 7 | nextText: 'Vor>', 8 | currentText: 'Heute', 9 | monthNames: ['Januar','Februar','März','April','Mai','Juni', 10 | 'Juli','August','September','Oktober','November','Dezember'], 11 | monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun', 12 | 'Jul','Aug','Sep','Okt','Nov','Dez'], 13 | dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], 14 | dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], 15 | dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], 16 | weekHeader: 'KW', 17 | dateFormat: 'dd.mm.yy', 18 | firstDay: 1, 19 | isRTL: false, 20 | showMonthAfterYear: false, 21 | yearSuffix: ''}; 22 | $.datepicker.setDefaults($.datepicker.regional['de']); 23 | }); 24 | -------------------------------------------------------------------------------- /static/js/lib/localization/jquery.ui.datepicker-en.js: -------------------------------------------------------------------------------- 1 | /* English/UK initialisation for the jQuery UI date picker plugin. */ 2 | /* Written by Stuart. */ 3 | jQuery(function($){ 4 | $.datepicker.regional['en-GB'] = { 5 | closeText: 'Done', 6 | prevText: 'Prev', 7 | nextText: 'Next', 8 | currentText: 'Today', 9 | monthNames: ['January','February','March','April','May','June', 10 | 'July','August','September','October','November','December'], 11 | monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 12 | 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], 13 | dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], 14 | dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], 15 | dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'], 16 | weekHeader: 'Wk', 17 | dateFormat: 'dd/mm/yy', 18 | firstDay: 1, 19 | isRTL: false, 20 | showMonthAfterYear: false, 21 | yearSuffix: ''}; 22 | $.datepicker.setDefaults($.datepicker.regional['en-GB']); 23 | }); 24 | -------------------------------------------------------------------------------- /static/js/lib/localization/jquery.ui.datepicker-es.js: -------------------------------------------------------------------------------- 1 | /* Inicialización en español para la extensión 'UI date picker' para jQuery. */ 2 | /* Traducido por Vester (xvester@gmail.com). */ 3 | jQuery(function($){ 4 | $.datepicker.regional['es'] = { 5 | closeText: 'Cerrar', 6 | prevText: '<Ant', 7 | nextText: 'Sig>', 8 | currentText: 'Hoy', 9 | monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio', 10 | 'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'], 11 | monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun', 12 | 'Jul','Ago','Sep','Oct','Nov','Dic'], 13 | dayNames: ['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'], 14 | dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'], 15 | dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'], 16 | weekHeader: 'Sm', 17 | dateFormat: 'dd/mm/yy', 18 | firstDay: 1, 19 | isRTL: false, 20 | showMonthAfterYear: false, 21 | yearSuffix: ''}; 22 | $.datepicker.setDefaults($.datepicker.regional['es']); 23 | }); 24 | -------------------------------------------------------------------------------- /static/js/lib/localization/jquery.ui.datepicker-fr.js: -------------------------------------------------------------------------------- 1 | /* French initialisation for the jQuery UI date picker plugin. */ 2 | /* Written by Keith Wood (kbwood{at}iinet.com.au), 3 | Stéphane Nahmani (sholby@sholby.net), 4 | Stéphane Raimbault */ 5 | jQuery(function($){ 6 | $.datepicker.regional['fr'] = { 7 | closeText: 'Fermer', 8 | prevText: 'Précédent', 9 | nextText: 'Suivant', 10 | currentText: 'Aujourd\'hui', 11 | monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin', 12 | 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'], 13 | monthNamesShort: ['Janv.','Févr.','Mars','Avril','Mai','Juin', 14 | 'Juil.','Août','Sept.','Oct.','Nov.','Déc.'], 15 | dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'], 16 | dayNamesShort: ['Dim.','Lun.','Mar.','Mer.','Jeu.','Ven.','Sam.'], 17 | dayNamesMin: ['D','L','M','M','J','V','S'], 18 | weekHeader: 'Sem.', 19 | dateFormat: 'dd/mm/yy', 20 | firstDay: 1, 21 | isRTL: false, 22 | showMonthAfterYear: false, 23 | yearSuffix: ''}; 24 | $.datepicker.setDefaults($.datepicker.regional['fr']); 25 | }); 26 | -------------------------------------------------------------------------------- /static/js/lib/localization/jquery.ui.datepicker-nl.js: -------------------------------------------------------------------------------- 1 | /* Dutch (UTF-8) initialisation for the jQuery UI date picker plugin. */ 2 | /* Written by Mathias Bynens */ 3 | jQuery(function($){ 4 | $.datepicker.regional.nl = { 5 | closeText: 'Sluiten', 6 | prevText: '←', 7 | nextText: '→', 8 | currentText: 'Vandaag', 9 | monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 10 | 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], 11 | monthNamesShort: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 12 | 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], 13 | dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], 14 | dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'], 15 | dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], 16 | weekHeader: 'Wk', 17 | dateFormat: 'dd-mm-yy', 18 | firstDay: 1, 19 | isRTL: false, 20 | showMonthAfterYear: false, 21 | yearSuffix: ''}; 22 | $.datepicker.setDefaults($.datepicker.regional.nl); 23 | }); 24 | -------------------------------------------------------------------------------- /static/js/lib/localization/messages_de.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: DE (German, Deutsch) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Dieses Feld ist ein Pflichtfeld.", 8 | maxlength: $.validator.format("Geben Sie bitte maximal {0} Zeichen ein."), 9 | minlength: $.validator.format("Geben Sie bitte mindestens {0} Zeichen ein."), 10 | rangelength: $.validator.format("Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein."), 11 | email: "Geben Sie bitte eine gültige E-Mail Adresse ein.", 12 | url: "Geben Sie bitte eine gültige URL ein.", 13 | date: "Bitte geben Sie ein gültiges Datum ein.", 14 | number: "Geben Sie bitte eine Nummer ein.", 15 | digits: "Geben Sie bitte nur Ziffern ein.", 16 | equalTo: "Bitte denselben Wert wiederholen.", 17 | range: $.validator.format("Geben Sie bitte einen Wert zwischen {0} und {1} ein."), 18 | max: $.validator.format("Geben Sie bitte einen Wert kleiner oder gleich {0} ein."), 19 | min: $.validator.format("Geben Sie bitte einen Wert größer oder gleich {0} ein."), 20 | creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein." 21 | }); 22 | }(jQuery)); -------------------------------------------------------------------------------- /static/js/lib/localization/messages_en.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.validator.messages, { 3 | required: "This field is required.", 4 | remote: "Please fix this field.", 5 | email: "Please enter a valid email address.", 6 | url: "Please enter a valid URL.", 7 | date: "Please enter a valid date.", 8 | dateISO: "Please enter a valid date (ISO).", 9 | number: "Please enter a valid number.", 10 | digits: "Please enter only digits.", 11 | creditcard: "Please enter a valid credit card number.", 12 | equalTo: "Please enter the same value again.", 13 | accept: "Please enter a value with a valid extension.", 14 | maxlength: jQuery.validator.format("Please enter no more than {0} characters."), 15 | minlength: jQuery.validator.format("Please enter at least {0} characters."), 16 | rangelength: jQuery.validator.format("Please enter a value between {0} and {1} characters long."), 17 | range: jQuery.validator.format("Please enter a value between {0} and {1}."), 18 | max: jQuery.validator.format("Please enter a value less than or equal to {0}."), 19 | min: jQuery.validator.format("Please enter a value greater than or equal to {0}.") 20 | }); 21 | }(jQuery)); -------------------------------------------------------------------------------- /static/js/lib/localization/messages_es.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ES (Spanish; Español) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Este campo es obligatorio.", 8 | remote: "Por favor, rellena este campo.", 9 | email: "Por favor, escribe una dirección de correo válida", 10 | url: "Por favor, escribe una URL válida.", 11 | date: "Por favor, escribe una fecha válida.", 12 | dateISO: "Por favor, escribe una fecha (ISO) válida.", 13 | number: "Por favor, escribe un número entero válido.", 14 | digits: "Por favor, escribe sólo dígitos.", 15 | creditcard: "Por favor, escribe un número de tarjeta válido.", 16 | equalTo: "Por favor, escribe el mismo valor de nuevo.", 17 | accept: "Por favor, escribe un valor con una extensión aceptada.", 18 | maxlength: $.validator.format("Por favor, no escribas más de {0} caracteres."), 19 | minlength: $.validator.format("Por favor, no escribas menos de {0} caracteres."), 20 | rangelength: $.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."), 21 | range: $.validator.format("Por favor, escribe un valor entre {0} y {1}."), 22 | max: $.validator.format("Por favor, escribe un valor menor o igual a {0}."), 23 | min: $.validator.format("Por favor, escribe un valor mayor o igual a {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /static/js/lib/localization/messages_nl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: NL (Dutch; Nederlands, Vlaams) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Dit is een verplicht veld.", 8 | remote: "Controleer dit veld.", 9 | email: "Vul hier een geldig e-mailadres in.", 10 | url: "Vul hier een geldige URL in.", 11 | date: "Vul hier een geldige datum in.", 12 | dateISO: "Vul hier een geldige datum in (ISO-formaat).", 13 | number: "Vul hier een geldig getal in.", 14 | digits: "Vul hier alleen getallen in.", 15 | creditcard: "Vul hier een geldig creditcardnummer in.", 16 | equalTo: "Vul hier dezelfde waarde in.", 17 | accept: "Vul hier een waarde in met een geldige extensie.", 18 | maxlength: $.validator.format("Vul hier maximaal {0} tekens in."), 19 | minlength: $.validator.format("Vul hier minimaal {0} tekens in."), 20 | rangelength: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1} tekens."), 21 | range: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1}."), 22 | max: $.validator.format("Vul hier een waarde in kleiner dan of gelijk aan {0}."), 23 | min: $.validator.format("Vul hier een waarde in groter dan of gelijk aan {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /static/js/lib/themes/apple/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/apple/bg.jpg -------------------------------------------------------------------------------- /static/js/lib/themes/apple/d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/apple/d.png -------------------------------------------------------------------------------- /static/js/lib/themes/apple/dot_for_ie.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/apple/dot_for_ie.gif -------------------------------------------------------------------------------- /static/js/lib/themes/apple/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/apple/throbber.gif -------------------------------------------------------------------------------- /static/js/lib/themes/classic/d.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/classic/d.gif -------------------------------------------------------------------------------- /static/js/lib/themes/classic/d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/classic/d.png -------------------------------------------------------------------------------- /static/js/lib/themes/classic/dot_for_ie.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/classic/dot_for_ie.gif -------------------------------------------------------------------------------- /static/js/lib/themes/classic/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/classic/throbber.gif -------------------------------------------------------------------------------- /static/js/lib/themes/default/d.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/default/d.gif -------------------------------------------------------------------------------- /static/js/lib/themes/default/d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/default/d.png -------------------------------------------------------------------------------- /static/js/lib/themes/default/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/lib/themes/default/throbber.gif -------------------------------------------------------------------------------- /static/js/script.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/advhr/css/advhr.css: -------------------------------------------------------------------------------- 1 | input.radio {border:1px none #000; background:transparent; vertical-align:middle;} 2 | .panel_wrapper div.current {height:80px;} 3 | #width {width:50px; vertical-align:middle;} 4 | #width2 {width:50px; vertical-align:middle;} 5 | #size {width:100px;} 6 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/advhr/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.AdvancedHRPlugin",{init:function(a,b){a.addCommand("mceAdvancedHr",function(){a.windowManager.open({file:b+"/rule.htm",width:250+parseInt(a.getLang("advhr.delta_width",0)),height:160+parseInt(a.getLang("advhr.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("advhr",{title:"advhr.advhr_desc",cmd:"mceAdvancedHr"});a.onNodeChange.add(function(d,c,e){c.setActive("advhr",e.nodeName=="HR")});a.onClick.add(function(c,d){d=d.target;if(d.nodeName==="HR"){c.selection.select(d)}})},getInfo:function(){return{longname:"Advanced HR",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advhr",tinymce.plugins.AdvancedHRPlugin)})(); -------------------------------------------------------------------------------- /static/js/tinymce/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 | })(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/advhr/js/rule.js: -------------------------------------------------------------------------------- 1 | var AdvHRDialog = { 2 | init : function(ed) { 3 | var dom = ed.dom, f = document.forms[0], n = ed.selection.getNode(), w; 4 | 5 | w = dom.getAttrib(n, 'width'); 6 | f.width.value = w ? parseInt(w) : (dom.getStyle('width') || ''); 7 | f.size.value = dom.getAttrib(n, 'size') || parseInt(dom.getStyle('height')) || ''; 8 | f.noshade.checked = !!dom.getAttrib(n, 'noshade') || !!dom.getStyle('border-width'); 9 | selectByValue(f, 'width2', w.indexOf('%') != -1 ? '%' : 'px'); 10 | }, 11 | 12 | update : function() { 13 | var ed = tinyMCEPopup.editor, h, f = document.forms[0], st = ''; 14 | 15 | h = 'd.autoresize_min_height){k=g}if(d.autoresize_max_height&&g>d.autoresize_max_height){k=d.autoresize_max_height;f.style.overflowY="auto";l.style.overflowY="auto"}else{f.style.overflowY="hidden";l.style.overflowY="hidden";f.scrollTop=0}if(k!==e){j=k-e;h.setStyle(h.get(a.id+"_ifr"),"height",k+"px");e=k;if(tinymce.isWebKit&&j<0){b()}}}d.editor=a;d.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight));d.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0));a.onInit.add(function(f){f.dom.setStyle(f.getBody(),"paddingBottom",f.getParam("autoresize_bottom_margin",50)+"px")});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.onLoad.add(b);a.onLoadContent.add(b)}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)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/directionality/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.Directionality",{init:function(b,c){var d=this;d.editor=b;function a(e){var h=b.dom,g,f=b.selection.getSelectedBlocks();if(f.length){g=h.getAttrib(f[0],"dir");tinymce.each(f,function(i){if(!h.getParent(i.parentNode,"*[dir='"+e+"']",h.getRoot())){if(g!=e){h.setAttrib(i,"dir",e)}else{h.setAttrib(i,"dir",null)}}});b.nodeChanged()}}b.addCommand("mceDirectionLTR",function(){a("ltr")});b.addCommand("mceDirectionRTL",function(){a("rtl")});b.addButton("ltr",{title:"directionality.ltr_desc",cmd:"mceDirectionLTR"});b.addButton("rtl",{title:"directionality.rtl_desc",cmd:"mceDirectionRTL"});b.onNodeChange.add(d._nodeChange,d)},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)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(a){a.create("tinymce.plugins.EmotionsPlugin",{init:function(b,c){b.addCommand("mceEmotion",function(){b.windowManager.open({file:c+"/emotions.htm",width:250+parseInt(b.getLang("emotions.delta_width",0)),height:160+parseInt(b.getLang("emotions.delta_height",0)),inline:1},{plugin_url:c})});b.addButton("emotions",{title:"emotions.emotions_desc",cmd:"mceEmotion"})},getInfo:function(){return{longname:"Emotions",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("emotions",a.plugins.EmotionsPlugin)})(tinymce); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/editor_plugin_src.js: -------------------------------------------------------------------------------- 1 | /** 2 | * editor_plugin_src.js 3 | * 4 | * Copyright 2009, Moxiecode Systems AB 5 | * Released under LGPL License. 6 | * 7 | * License: http://tinymce.moxiecode.com/license 8 | * Contributing: http://tinymce.moxiecode.com/contributing 9 | */ 10 | 11 | (function(tinymce) { 12 | tinymce.create('tinymce.plugins.EmotionsPlugin', { 13 | init : function(ed, url) { 14 | // Register commands 15 | ed.addCommand('mceEmotion', function() { 16 | ed.windowManager.open({ 17 | file : url + '/emotions.htm', 18 | width : 250 + parseInt(ed.getLang('emotions.delta_width', 0)), 19 | height : 160 + parseInt(ed.getLang('emotions.delta_height', 0)), 20 | inline : 1 21 | }, { 22 | plugin_url : url 23 | }); 24 | }); 25 | 26 | // Register buttons 27 | ed.addButton('emotions', {title : 'emotions.emotions_desc', cmd : 'mceEmotion'}); 28 | }, 29 | 30 | getInfo : function() { 31 | return { 32 | longname : 'Emotions', 33 | author : 'Moxiecode Systems AB', 34 | authorurl : 'http://tinymce.moxiecode.com', 35 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions', 36 | version : tinymce.majorVersion + "." + tinymce.minorVersion 37 | }; 38 | } 39 | }); 40 | 41 | // Register plugin 42 | tinymce.PluginManager.add('emotions', tinymce.plugins.EmotionsPlugin); 43 | })(tinymce); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-cool.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-cool.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-cry.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-cry.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-embarassed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-embarassed.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-frown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-frown.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-innocent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-innocent.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-kiss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-kiss.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-laughing.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-laughing.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-money-mouth.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-money-mouth.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-sealed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-sealed.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-smile.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-surprised.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-surprised.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-tongue-out.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-tongue-out.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-undecided.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-undecided.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-wink.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-wink.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/img/smiley-yell.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/emotions/img/smiley-yell.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/js/emotions.js: -------------------------------------------------------------------------------- 1 | tinyMCEPopup.requireLangPack(); 2 | 3 | var EmotionsDialog = { 4 | addKeyboardNavigation: function(){ 5 | var tableElm, cells, settings; 6 | 7 | cells = tinyMCEPopup.dom.select("a.emoticon_link", "emoticon_table"); 8 | 9 | settings ={ 10 | root: "emoticon_table", 11 | items: cells 12 | }; 13 | cells[0].tabindex=0; 14 | tinyMCEPopup.dom.addClass(cells[0], "mceFocus"); 15 | if (tinymce.isGecko) { 16 | cells[0].focus(); 17 | } else { 18 | setTimeout(function(){ 19 | cells[0].focus(); 20 | }, 100); 21 | } 22 | tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom); 23 | }, 24 | init : function(ed) { 25 | tinyMCEPopup.resizeToInnerSize(); 26 | this.addKeyboardNavigation(); 27 | }, 28 | 29 | insert : function(file, title) { 30 | var ed = tinyMCEPopup.editor, dom = ed.dom; 31 | 32 | tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', { 33 | src : tinyMCEPopup.getWindowArg('plugin_url') + '/img/' + file, 34 | alt : ed.getLang(title), 35 | title : ed.getLang(title), 36 | border : 0 37 | })); 38 | 39 | tinyMCEPopup.close(); 40 | } 41 | }; 42 | 43 | tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog); 44 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/emotions/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.emotions_dlg',{cry:"Cry",cool:"Cool",desc:"Emotions",title:"Insert Emotion",usage:"Use left and right arrows to navigate.",yell:"Yell",wink:"Wink",undecided:"Undecided","tongue_out":"Tongue Out",surprised:"Surprised",smile:"Smile",sealed:"Sealed","money_mouth":"Money Mouth",laughing:"Laughing",kiss:"Kiss",innocent:"Innocent",frown:"Frown","foot_in_mouth":"Foot in Mouth",embarassed:"Embarassed"}); 2 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/example/dialog.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {#example_dlg.title} 5 | 6 | 7 | 8 | 9 | 10 |
11 |

Here is a example dialog.

12 |

Selected text:

13 |

Custom arg:

14 | 15 |
16 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/example/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.PluginManager.requireLangPack("example");tinymce.create("tinymce.plugins.ExamplePlugin",{init:function(a,b){a.addCommand("mceExample",function(){a.windowManager.open({file:b+"/dialog.htm",width:320+parseInt(a.getLang("example.delta_width",0)),height:120+parseInt(a.getLang("example.delta_height",0)),inline:1},{plugin_url:b,some_custom_arg:"custom arg"})});a.addButton("example",{title:"example.desc",cmd:"mceExample",image:b+"/img/example.gif"});a.onNodeChange.add(function(d,c,e){c.setActive("example",e.nodeName=="IMG")})},createControl:function(b,a){return null},getInfo:function(){return{longname:"Example plugin",author:"Some author",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example",version:"1.0"}}});tinymce.PluginManager.add("example",tinymce.plugins.ExamplePlugin)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/example/img/example.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/example/img/example.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/example/js/dialog.js: -------------------------------------------------------------------------------- 1 | tinyMCEPopup.requireLangPack(); 2 | 3 | var ExampleDialog = { 4 | init : function() { 5 | var f = document.forms[0]; 6 | 7 | // Get the selected contents as text and place it in the input 8 | f.someval.value = tinyMCEPopup.editor.selection.getContent({format : 'text'}); 9 | f.somearg.value = tinyMCEPopup.getWindowArg('some_custom_arg'); 10 | }, 11 | 12 | insert : function() { 13 | // Insert the contents from the input into the document 14 | tinyMCEPopup.editor.execCommand('mceInsertContent', false, document.forms[0].someval.value); 15 | tinyMCEPopup.close(); 16 | } 17 | }; 18 | 19 | tinyMCEPopup.onInit.add(ExampleDialog.init, ExampleDialog); 20 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/example/langs/en.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.example',{ 2 | desc : 'This is just a template button' 3 | }); 4 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/example/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.example_dlg',{ 2 | title : 'This is just a example title' 3 | }); 4 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/example_dependency/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.ExampleDependencyPlugin",{init:function(a,b){},getInfo:function(){return{longname:"Example Dependency plugin",author:"Some author",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example_dependency",version:"1.0"}}});tinymce.PluginManager.add("example_dependency",tinymce.plugins.ExampleDependencyPlugin,["example"])})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/example_dependency/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 | 13 | tinymce.create('tinymce.plugins.ExampleDependencyPlugin', { 14 | /** 15 | * Initializes the plugin, this will be executed after the plugin has been created. 16 | * This call is done before the editor instance has finished it's initialization so use the onInit event 17 | * of the editor instance to intercept that event. 18 | * 19 | * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. 20 | * @param {string} url Absolute URL to where the plugin is located. 21 | */ 22 | init : function(ed, url) { 23 | }, 24 | 25 | 26 | /** 27 | * Returns information about the plugin as a name/value array. 28 | * The current keys are longname, author, authorurl, infourl and version. 29 | * 30 | * @return {Object} Name/value array containing information about the plugin. 31 | */ 32 | getInfo : function() { 33 | return { 34 | longname : 'Example Dependency plugin', 35 | author : 'Some author', 36 | authorurl : 'http://tinymce.moxiecode.com', 37 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example_dependency', 38 | version : "1.0" 39 | }; 40 | } 41 | }); 42 | 43 | /** 44 | * Register the plugin, specifying the list of the plugins that this plugin depends on. They are specified in a list, with the list loaded in order. 45 | * plugins in this list will be initialised when this plugin is initialized. (before the init method is called). 46 | * plugins in a depends list should typically be specified using the short name). If neccesary this can be done 47 | * with an object which has the url to the plugin and the shortname. 48 | */ 49 | tinymce.PluginManager.add('example_dependency', tinymce.plugins.ExampleDependencyPlugin, ['example']); 50 | })(); 51 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/iespell/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.IESpell",{init:function(a,b){var c=this,d;if(!tinymce.isIE){return}c.editor=a;a.addCommand("mceIESpell",function(){try{d=new ActiveXObject("ieSpell.ieSpellExtension");d.CheckDocumentNode(a.getDoc().documentElement)}catch(f){if(f.number==-2146827859){a.windowManager.confirm(a.getLang("iespell.download"),function(e){if(e){window.open("http://www.iespell.com/download.php","ieSpellDownload","")}})}else{a.windowManager.alert("Error Loading ieSpell: Exception "+f.number)}}});a.addButton("iespell",{title:"iespell.iespell_desc",cmd:"mceIESpell"})},getInfo:function(){return{longname:"IESpell (IE Only)",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("iespell",tinymce.plugins.IESpell)})(); -------------------------------------------------------------------------------- /static/js/tinymce/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 | })(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/insertdatetime/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.InsertDateTime",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceInsertDate",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_dateFormat",a.getLang("insertdatetime.date_fmt")));a.execCommand("mceInsertContent",false,d)});a.addCommand("mceInsertTime",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_timeFormat",a.getLang("insertdatetime.time_fmt")));a.execCommand("mceInsertContent",false,d)});a.addButton("insertdate",{title:"insertdatetime.insertdate_desc",cmd:"mceInsertDate"});a.addButton("inserttime",{title:"insertdatetime.inserttime_desc",cmd:"mceInsertTime"})},getInfo:function(){return{longname:"Insert date/time",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getDateTime:function(e,a){var c=this.editor;function b(g,d){g=""+g;if(g.length'; 64 | 65 | h += ' ':" ")});a.addButton("nonbreaking",{title:"nonbreaking.nonbreaking_desc",cmd:"mceNonBreaking"});if(a.getParam("nonbreaking_force_tab")){a.onKeyDown.add(function(d,f){if(f.keyCode==9){f.preventDefault();d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking")}})}},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)})(); -------------------------------------------------------------------------------- /static/js/tinymce/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 (e.keyCode == 9) { 29 | e.preventDefault(); 30 | 31 | ed.execCommand('mceNonBreaking'); 32 | ed.execCommand('mceNonBreaking'); 33 | ed.execCommand('mceNonBreaking'); 34 | } 35 | }); 36 | } 37 | }, 38 | 39 | getInfo : function() { 40 | return { 41 | longname : 'Nonbreaking space', 42 | author : 'Moxiecode Systems AB', 43 | authorurl : 'http://tinymce.moxiecode.com', 44 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking', 45 | version : tinymce.majorVersion + "." + tinymce.minorVersion 46 | }; 47 | } 48 | 49 | // Private methods 50 | }); 51 | 52 | // Register plugin 53 | tinymce.PluginManager.add('nonbreaking', tinymce.plugins.Nonbreaking); 54 | })(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/pagebreak/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.PageBreakPlugin",{init:function(b,d){var f='',a="mcePageBreak",c=b.getParam("pagebreak_separator",""),e;e=new RegExp(c.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(g){return"\\"+g}),"g");b.addCommand("mcePageBreak",function(){b.execCommand("mceInsertContent",0,f)});b.addButton("pagebreak",{title:"pagebreak.desc",cmd:a});b.onInit.add(function(){if(b.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)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/paste/js/pastetext.js: -------------------------------------------------------------------------------- 1 | tinyMCEPopup.requireLangPack(); 2 | 3 | var PasteTextDialog = { 4 | init : function() { 5 | this.resize(); 6 | }, 7 | 8 | insert : function() { 9 | var h = tinyMCEPopup.dom.encode(document.getElementById('content').value), lines; 10 | 11 | // Convert linebreaks into paragraphs 12 | if (document.getElementById('linebreaks').checked) { 13 | lines = h.split(/\r?\n/); 14 | if (lines.length > 1) { 15 | h = ''; 16 | tinymce.each(lines, function(row) { 17 | h += '

' + row + '

'; 18 | }); 19 | } 20 | } 21 | 22 | tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h}); 23 | tinyMCEPopup.close(); 24 | }, 25 | 26 | resize : function() { 27 | var vp = tinyMCEPopup.dom.getViewPort(window), el; 28 | 29 | el = document.getElementById('content'); 30 | 31 | el.style.width = (vp.w - 20) + 'px'; 32 | el.style.height = (vp.h - 90) + 'px'; 33 | } 34 | }; 35 | 36 | tinyMCEPopup.onInit.add(PasteTextDialog.init, PasteTextDialog); 37 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/paste/js/pasteword.js: -------------------------------------------------------------------------------- 1 | tinyMCEPopup.requireLangPack(); 2 | 3 | var PasteWordDialog = { 4 | init : function() { 5 | var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = ''; 6 | 7 | // Create iframe 8 | el.innerHTML = ''; 9 | ifr = document.getElementById('iframe'); 10 | doc = ifr.contentWindow.document; 11 | 12 | // Force absolute CSS urls 13 | css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")]; 14 | css = css.concat(tinymce.explode(ed.settings.content_css) || []); 15 | tinymce.each(css, function(u) { 16 | cssHTML += ''; 17 | }); 18 | 19 | // Write content into iframe 20 | doc.open(); 21 | doc.write('' + cssHTML + ''); 22 | doc.close(); 23 | 24 | doc.designMode = 'on'; 25 | this.resize(); 26 | 27 | window.setTimeout(function() { 28 | ifr.contentWindow.focus(); 29 | }, 10); 30 | }, 31 | 32 | insert : function() { 33 | var h = document.getElementById('iframe').contentWindow.document.body.innerHTML; 34 | 35 | tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true}); 36 | tinyMCEPopup.close(); 37 | }, 38 | 39 | resize : function() { 40 | var vp = tinyMCEPopup.dom.getViewPort(window), el; 41 | 42 | el = document.getElementById('iframe'); 43 | 44 | if (el) { 45 | el.style.width = (vp.w - 20) + 'px'; 46 | el.style.height = (vp.h - 90) + 'px'; 47 | } 48 | } 49 | }; 50 | 51 | tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog); 52 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/paste/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.paste_dlg',{"word_title":"Use Ctrl+V on your keyboard to paste the text into the window.","text_linebreaks":"Keep Linebreaks","text_title":"Use Ctrl+V on your keyboard to paste the text into the window."}); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/paste/pastetext.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | {#paste.paste_text_desc} 4 | 5 | 6 | 7 | 8 |
9 |
{#paste.paste_text_desc}
10 | 11 |
12 | 13 |
14 | 15 |
16 | 17 |
{#paste_dlg.text_title}
18 | 19 | 20 | 21 |
22 | 23 | 24 |
25 |
26 | 27 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/paste/pasteword.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | {#paste.paste_word_desc} 4 | 5 | 6 | 7 | 8 |
9 |
{#paste.paste_word_desc}
10 | 11 |
{#paste_dlg.word_title}
12 | 13 |
14 | 15 |
16 | 17 | 18 |
19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/preview/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.Preview",{init:function(a,b){var d=this,c=tinymce.explode(a.settings.content_css);d.editor=a;tinymce.each(c,function(f,e){c[e]=a.documentBaseURI.toAbsolute(f)});a.addCommand("mcePreview",function(){a.windowManager.open({file:a.getParam("plugin_preview_pageurl",b+"/preview.html"),width:parseInt(a.getParam("plugin_preview_width","550")),height:parseInt(a.getParam("plugin_preview_height","600")),resizable:"yes",scrollbars:"yes",popup_css:c?c.join(","):a.baseURI.toAbsolute("themes/"+a.settings.theme+"/skins/"+a.settings.skin+"/content.css"),inline:a.getParam("plugin_preview_inline",1)},{base:a.documentBaseURI.getURI()})});a.addButton("preview",{title:"preview.preview_desc",cmd:"mcePreview"})},getInfo:function(){return{longname:"Preview",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("preview",tinymce.plugins.Preview)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/preview/editor_plugin_src.js: -------------------------------------------------------------------------------- 1 | /** 2 | * editor_plugin_src.js 3 | * 4 | * Copyright 2009, Moxiecode Systems AB 5 | * Released under LGPL License. 6 | * 7 | * License: http://tinymce.moxiecode.com/license 8 | * Contributing: http://tinymce.moxiecode.com/contributing 9 | */ 10 | 11 | (function() { 12 | tinymce.create('tinymce.plugins.Preview', { 13 | init : function(ed, url) { 14 | var t = this, css = tinymce.explode(ed.settings.content_css); 15 | 16 | t.editor = ed; 17 | 18 | // Force absolute CSS urls 19 | tinymce.each(css, function(u, k) { 20 | css[k] = ed.documentBaseURI.toAbsolute(u); 21 | }); 22 | 23 | ed.addCommand('mcePreview', function() { 24 | ed.windowManager.open({ 25 | file : ed.getParam("plugin_preview_pageurl", url + "/preview.html"), 26 | width : parseInt(ed.getParam("plugin_preview_width", "550")), 27 | height : parseInt(ed.getParam("plugin_preview_height", "600")), 28 | resizable : "yes", 29 | scrollbars : "yes", 30 | popup_css : css ? css.join(',') : ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css"), 31 | inline : ed.getParam("plugin_preview_inline", 1) 32 | }, { 33 | base : ed.documentBaseURI.getURI() 34 | }); 35 | }); 36 | 37 | ed.addButton('preview', {title : 'preview.preview_desc', cmd : 'mcePreview'}); 38 | }, 39 | 40 | getInfo : function() { 41 | return { 42 | longname : 'Preview', 43 | author : 'Moxiecode Systems AB', 44 | authorurl : 'http://tinymce.moxiecode.com', 45 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview', 46 | version : tinymce.majorVersion + "." + tinymce.minorVersion 47 | }; 48 | } 49 | }); 50 | 51 | // Register plugin 52 | tinymce.PluginManager.add('preview', tinymce.plugins.Preview); 53 | })(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/preview/example.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 18 | Example of a custom preview page 19 | 20 | 21 | 22 | Editor contents:
23 |
24 | 25 |
26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/preview/jscripts/embed.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. 3 | */ 4 | 5 | function writeFlash(p) { 6 | writeEmbed( 7 | 'D27CDB6E-AE6D-11cf-96B8-444553540000', 8 | 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', 9 | 'application/x-shockwave-flash', 10 | p 11 | ); 12 | } 13 | 14 | function writeShockWave(p) { 15 | writeEmbed( 16 | '166B1BCA-3F9C-11CF-8075-444553540000', 17 | 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', 18 | 'application/x-director', 19 | p 20 | ); 21 | } 22 | 23 | function writeQuickTime(p) { 24 | writeEmbed( 25 | '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', 26 | 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', 27 | 'video/quicktime', 28 | p 29 | ); 30 | } 31 | 32 | function writeRealMedia(p) { 33 | writeEmbed( 34 | 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', 35 | 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', 36 | 'audio/x-pn-realaudio-plugin', 37 | p 38 | ); 39 | } 40 | 41 | function writeWindowsMedia(p) { 42 | p.url = p.src; 43 | writeEmbed( 44 | '6BF52A52-394A-11D3-B153-00C04F79FAA6', 45 | 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', 46 | 'application/x-mplayer2', 47 | p 48 | ); 49 | } 50 | 51 | function writeEmbed(cls, cb, mt, p) { 52 | var h = '', n; 53 | 54 | h += ''; 64 | 65 | h += ' 2 | 3 | 4 | 5 | 6 | 10 | {#preview.preview_desc} 11 | 12 | 13 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/print/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.Print",{init:function(a,b){a.addCommand("mcePrint",function(){a.getWin().print()});a.addButton("print",{title:"print.print_desc",cmd:"mcePrint"})},getInfo:function(){return{longname:"Print",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("print",tinymce.plugins.Print)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/print/editor_plugin_src.js: -------------------------------------------------------------------------------- 1 | /** 2 | * editor_plugin_src.js 3 | * 4 | * Copyright 2009, Moxiecode Systems AB 5 | * Released under LGPL License. 6 | * 7 | * License: http://tinymce.moxiecode.com/license 8 | * Contributing: http://tinymce.moxiecode.com/contributing 9 | */ 10 | 11 | (function() { 12 | tinymce.create('tinymce.plugins.Print', { 13 | init : function(ed, url) { 14 | ed.addCommand('mcePrint', function() { 15 | ed.getWin().print(); 16 | }); 17 | 18 | ed.addButton('print', {title : 'print.print_desc', cmd : 'mcePrint'}); 19 | }, 20 | 21 | getInfo : function() { 22 | return { 23 | longname : 'Print', 24 | author : 'Moxiecode Systems AB', 25 | authorurl : 'http://tinymce.moxiecode.com', 26 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print', 27 | version : tinymce.majorVersion + "." + tinymce.minorVersion 28 | }; 29 | } 30 | }); 31 | 32 | // Register plugin 33 | tinymce.PluginManager.add('print', tinymce.plugins.Print); 34 | })(); 35 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/save/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.Save",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceSave",c._save,c);a.addCommand("mceCancel",c._cancel,c);a.addButton("save",{title:"save.save_desc",cmd:"mceSave"});a.addButton("cancel",{title:"save.cancel_desc",cmd:"mceCancel"});a.onNodeChange.add(c._nodeChange,c);a.addShortcut("ctrl+s",a.getLang("save.save_desc"),"mceSave")},getInfo:function(){return{longname:"Save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,c){var b=this.editor;if(b.getParam("save_enablewhendirty")){a.setDisabled("save",!b.isDirty());a.setDisabled("cancel",!b.isDirty())}},_save:function(){var c=this.editor,a,e,d,b;a=tinymce.DOM.get(c.id).form||tinymce.DOM.getParent(c.id,"form");if(c.getParam("save_enablewhendirty")&&!c.isDirty()){return}tinyMCE.triggerSave();if(e=c.getParam("save_onsavecallback")){if(c.execCallback("save_onsavecallback",c)){c.startContent=tinymce.trim(c.getContent({format:"raw"}));c.nodeChanged()}return}if(a){c.isNotDirty=true;if(a.onsubmit==null||a.onsubmit()!=false){a.submit()}c.nodeChanged()}else{c.windowManager.alert("Error: No form element found.")}},_cancel:function(){var a=this.editor,c,b=tinymce.trim(a.startContent);if(c=a.getParam("save_oncancelcallback")){a.execCallback("save_oncancelcallback",a);return}a.setContent(b);a.undoManager.clear();a.nodeChanged()}});tinymce.PluginManager.add("save",tinymce.plugins.Save)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/searchreplace/css/searchreplace.css: -------------------------------------------------------------------------------- 1 | .panel_wrapper {height:85px;} 2 | .panel_wrapper div.current {height:85px;} 3 | 4 | /* IE */ 5 | * html .panel_wrapper {height:100px;} 6 | * html .panel_wrapper div.current {height:100px;} 7 | -------------------------------------------------------------------------------- /static/js/tinymce/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)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/searchreplace/editor_plugin_src.js: -------------------------------------------------------------------------------- 1 | /** 2 | * editor_plugin_src.js 3 | * 4 | * Copyright 2009, Moxiecode Systems AB 5 | * Released under LGPL License. 6 | * 7 | * License: http://tinymce.moxiecode.com/license 8 | * Contributing: http://tinymce.moxiecode.com/contributing 9 | */ 10 | 11 | (function() { 12 | tinymce.create('tinymce.plugins.SearchReplacePlugin', { 13 | init : function(ed, url) { 14 | function open(m) { 15 | // 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 | })(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/searchreplace/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.searchreplace_dlg',{findwhat:"Find What",replacewith:"Replace with",direction:"Direction",up:"Up",down:"Down",mcase:"Match Case",findnext:"Find Next",allreplaced:"All occurrences of the search string were replaced.","searchnext_desc":"Find Again",notfound:"The search has been completed. The search string could not be found.","search_title":"Find","replace_title":"Find/Replace",replaceall:"Replace All",replace:"Replace"}); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/spellchecker/css/content.css: -------------------------------------------------------------------------------- 1 | .mceItemHiddenSpellWord {background:url(../img/wline.gif) repeat-x bottom left; cursor:default;} 2 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/spellchecker/editor_plugin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/spellchecker/editor_plugin.js -------------------------------------------------------------------------------- /static/js/tinymce/plugins/spellchecker/editor_plugin_src.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/spellchecker/editor_plugin_src.js -------------------------------------------------------------------------------- /static/js/tinymce/plugins/spellchecker/img/wline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/plugins/spellchecker/img/wline.gif -------------------------------------------------------------------------------- /static/js/tinymce/plugins/style/css/props.css: -------------------------------------------------------------------------------- 1 | #text_font {width:250px;} 2 | #text_size {width:70px;} 3 | .mceAddSelectValue {background:#DDD;} 4 | select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {width:70px;} 5 | #box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {width:70px;} 6 | #positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {width:70px;} 7 | #positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {width:70px;} 8 | .panel_toggle_insert_span {padding-top:10px;} 9 | .panel_wrapper div.current {padding-top:10px;height:230px;} 10 | .delim {border-left:1px solid gray;} 11 | .tdelim {border-bottom:1px solid gray;} 12 | #block_display {width:145px;} 13 | #list_type {width:115px;} 14 | .disabled {background:#EEE;} 15 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/style/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.StylePlugin",{init:function(a,b){a.addCommand("mceStyleProps",function(){var c=false;var f=a.selection.getSelectedBlocks();var d=[];if(f.length===1){d.push(a.selection.getNode().style.cssText)}else{tinymce.each(f,function(g){d.push(a.dom.getAttrib(g,"style"))});c=true}a.windowManager.open({file:b+"/props.htm",width:480+parseInt(a.getLang("style.delta_width",0)),height:340+parseInt(a.getLang("style.delta_height",0)),inline:1},{applyStyleToBlocks:c,plugin_url:b,styles:d})});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)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/style/editor_plugin_src.js: -------------------------------------------------------------------------------- 1 | /** 2 | * editor_plugin_src.js 3 | * 4 | * Copyright 2009, Moxiecode Systems AB 5 | * Released under LGPL License. 6 | * 7 | * License: http://tinymce.moxiecode.com/license 8 | * Contributing: http://tinymce.moxiecode.com/contributing 9 | */ 10 | 11 | (function() { 12 | tinymce.create('tinymce.plugins.StylePlugin', { 13 | init : function(ed, url) { 14 | // Register commands 15 | ed.addCommand('mceStyleProps', function() { 16 | 17 | var applyStyleToBlocks = false; 18 | var blocks = ed.selection.getSelectedBlocks(); 19 | var styles = []; 20 | 21 | if (blocks.length === 1) { 22 | styles.push(ed.selection.getNode().style.cssText); 23 | } 24 | else { 25 | tinymce.each(blocks, function(block) { 26 | styles.push(ed.dom.getAttrib(block, 'style')); 27 | }); 28 | applyStyleToBlocks = true; 29 | } 30 | 31 | ed.windowManager.open({ 32 | file : url + '/props.htm', 33 | width : 480 + parseInt(ed.getLang('style.delta_width', 0)), 34 | height : 340 + parseInt(ed.getLang('style.delta_height', 0)), 35 | inline : 1 36 | }, { 37 | applyStyleToBlocks : applyStyleToBlocks, 38 | plugin_url : url, 39 | styles : styles 40 | }); 41 | }); 42 | 43 | ed.addCommand('mceSetElementStyle', function(ui, v) { 44 | if (e = ed.selection.getNode()) { 45 | ed.dom.setAttrib(e, 'style', v); 46 | ed.execCommand('mceRepaint'); 47 | } 48 | }); 49 | 50 | ed.onNodeChange.add(function(ed, cm, n) { 51 | cm.setDisabled('styleprops', n.nodeName === 'BODY'); 52 | }); 53 | 54 | // Register buttons 55 | ed.addButton('styleprops', {title : 'style.desc', cmd : 'mceStyleProps'}); 56 | }, 57 | 58 | getInfo : function() { 59 | return { 60 | longname : 'Style', 61 | author : 'Moxiecode Systems AB', 62 | authorurl : 'http://tinymce.moxiecode.com', 63 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style', 64 | version : tinymce.majorVersion + "." + tinymce.minorVersion 65 | }; 66 | } 67 | }); 68 | 69 | // Register plugin 70 | tinymce.PluginManager.add('style', tinymce.plugins.StylePlugin); 71 | })(); 72 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/style/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.style_dlg',{"text_lineheight":"Line Height","text_variant":"Variant","text_style":"Style","text_weight":"Weight","text_size":"Size","text_font":"Font","text_props":"Text","positioning_tab":"Positioning","list_tab":"List","border_tab":"Border","box_tab":"Box","block_tab":"Block","background_tab":"Background","text_tab":"Text",apply:"Apply",toggle_insert_span:"Insert span at selection",title:"Edit CSS Style",clip:"Clip",placement:"Placement",overflow:"Overflow",zindex:"Z-index",visibility:"Visibility","positioning_type":"Type",position:"Position","bullet_image":"Bullet Image","list_type":"Type",color:"Color",height:"Height",width:"Width",style:"Style",margin:"Margin",left:"Left",bottom:"Bottom",right:"Right",top:"Top",same:"Same for All",padding:"Padding","box_clear":"Clear","box_float":"Float","box_height":"Height","box_width":"Width","block_display":"Display","block_whitespace":"Whitespace","block_text_indent":"Text Indent","block_text_align":"Text Align","block_vertical_alignment":"Vertical Alignment","block_letterspacing":"Letter Spacing","block_wordspacing":"Word Spacing","background_vpos":"Vertical Position","background_hpos":"Horizontal Position","background_attachment":"Attachment","background_repeat":"Repeat","background_image":"Background Image","background_color":"Background Color","text_none":"None","text_blink":"Blink","text_case":"Case","text_striketrough":"Strikethrough","text_underline":"Underline","text_overline":"Overline","text_decoration":"Decoration","text_color":"Color",text:"Text",background:"Background",block:"Block",box:"Box",border:"Border",list:"List"}); 2 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/style/readme.txt: -------------------------------------------------------------------------------- 1 | Edit CSS Style plug-in notes 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 | Unlike WYSIWYG editor functionality that operates only on the selected text, 4 | typically by inserting new HTML elements with the specified styles. 5 | This plug-in operates on the HTML blocks surrounding the selected text. 6 | No new HTML elements are created. 7 | 8 | This plug-in only operates on the surrounding blocks and not the nearest 9 | parent node. This means that if a block encapsulates a node, 10 | e.g

text

, then only the styles in the block are 11 | recognized, not those in the span. 12 | 13 | When selecting text that includes multiple blocks at the same level (peers), 14 | this plug-in accumulates the specified styles in all of the surrounding blocks 15 | and populates the dialogue checkboxes accordingly. There is no differentiation 16 | between styles set in all the blocks versus styles set in some of the blocks. 17 | 18 | When the [Update] or [Apply] buttons are pressed, the styles selected in the 19 | checkboxes are applied to all blocks that surround the selected text. 20 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/tabfocus/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.explode;tinymce.create("tinymce.plugins.TabFocusPlugin",{init:function(f,g){function e(i,j){if(j.keyCode===9){return a.cancel(j)}}function h(l,p){var j,m,o,n,k;function q(t){n=c.select(":input:enabled,*[tabindex]:not(iframe)");function s(v){return v.nodeName==="BODY"||(v.type!="hidden"&&!(v.style.display=="none")&&!(v.style.visibility=="hidden")&&s(v.parentNode))}function i(v){return v.attributes.tabIndex.specified||v.nodeName=="INPUT"||v.nodeName=="TEXTAREA"}function u(){return tinymce.isIE6||tinymce.isIE7}function r(v){return((!u()||i(v)))&&v.getAttribute("tabindex")!="-1"&&s(v)}d(n,function(w,v){if(w.id==l.id){j=v;return false}});if(t>0){for(m=j+1;m=0;m--){if(r(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)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/table/css/cell.css: -------------------------------------------------------------------------------- 1 | /* CSS file for cell dialog in the table plugin */ 2 | 3 | .panel_wrapper div.current { 4 | height: 200px; 5 | } 6 | 7 | .advfield { 8 | width: 200px; 9 | } 10 | 11 | #action { 12 | margin-bottom: 3px; 13 | } 14 | 15 | #class { 16 | width: 150px; 17 | } -------------------------------------------------------------------------------- /static/js/tinymce/plugins/table/css/row.css: -------------------------------------------------------------------------------- 1 | /* CSS file for row dialog in the table plugin */ 2 | 3 | .panel_wrapper div.current { 4 | height: 200px; 5 | } 6 | 7 | .advfield { 8 | width: 200px; 9 | } 10 | 11 | #action { 12 | margin-bottom: 3px; 13 | } 14 | 15 | #rowtype,#align,#valign,#class,#height { 16 | width: 150px; 17 | } 18 | 19 | #height { 20 | width: 50px; 21 | } 22 | 23 | .col2 { 24 | padding-left: 20px; 25 | } 26 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/table/css/table.css: -------------------------------------------------------------------------------- 1 | /* CSS file for table dialog in the table plugin */ 2 | 3 | .panel_wrapper div.current { 4 | height: 245px; 5 | } 6 | 7 | .advfield { 8 | width: 200px; 9 | } 10 | 11 | #class { 12 | width: 150px; 13 | } 14 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/table/js/merge_cells.js: -------------------------------------------------------------------------------- 1 | tinyMCEPopup.requireLangPack(); 2 | 3 | var MergeCellsDialog = { 4 | init : function() { 5 | var f = document.forms[0]; 6 | 7 | f.numcols.value = tinyMCEPopup.getWindowArg('cols', 1); 8 | f.numrows.value = tinyMCEPopup.getWindowArg('rows', 1); 9 | }, 10 | 11 | merge : function() { 12 | var func, f = document.forms[0]; 13 | 14 | tinyMCEPopup.restoreSelection(); 15 | 16 | func = tinyMCEPopup.getWindowArg('onaction'); 17 | 18 | func({ 19 | cols : f.numcols.value, 20 | rows : f.numrows.value 21 | }); 22 | 23 | tinyMCEPopup.close(); 24 | } 25 | }; 26 | 27 | tinyMCEPopup.onInit.add(MergeCellsDialog.init, MergeCellsDialog); 28 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/table/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.table_dlg',{"rules_border":"border","rules_box":"box","rules_vsides":"vsides","rules_rhs":"rhs","rules_lhs":"lhs","rules_hsides":"hsides","rules_below":"below","rules_above":"above","rules_void":"void",rules:"Rules","frame_all":"all","frame_cols":"cols","frame_rows":"rows","frame_groups":"groups","frame_none":"none",frame:"Frame",caption:"Table Caption","missing_scope":"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.","cell_limit":"You\'ve exceeded the maximum number of cells of {$cells}.","row_limit":"You\'ve exceeded the maximum number of rows of {$rows}.","col_limit":"You\'ve exceeded the maximum number of columns of {$cols}.",colgroup:"Col Group",rowgroup:"Row Group",scope:"Scope",tfoot:"Footer",tbody:"Body",thead:"Header","row_all":"Update All Rows in Table","row_even":"Update Even Rows in Table","row_odd":"Update Odd Rows in Table","row_row":"Update Current Row","cell_all":"Update All Cells in Table","cell_row":"Update All Cells in Row","cell_cell":"Update Current Cell",th:"Header",td:"Data",summary:"Summary",bgimage:"Background Image",rtl:"Right to Left",ltr:"Left to Right",mime:"Target MIME Type",langcode:"Language Code",langdir:"Language Direction",style:"Style",id:"ID","merge_cells_title":"Merge Table Cells",bgcolor:"Background Color",bordercolor:"Border Color","align_bottom":"Bottom","align_top":"Top",valign:"Vertical Alignment","cell_type":"Cell Type","cell_title":"Table Cell Properties","row_title":"Table Row Properties","align_middle":"Center","align_right":"Right","align_left":"Left","align_default":"Default",align:"Alignment",border:"Border",cellpadding:"Cell Padding",cellspacing:"Cell Spacing",rows:"Rows",cols:"Columns",height:"Height",width:"Width",title:"Insert/Edit Table",rowtype:"Row Type","advanced_props":"Advanced Properties","general_props":"General Properties","advanced_tab":"Advanced","general_tab":"General","cell_col":"Update all cells in column"}); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/table/merge_cells.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {#table_dlg.merge_cells_title} 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | {#table_dlg.merge_cells_title} 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
:
:
24 |
25 | 26 |
27 | 28 | 29 |
30 |
31 | 32 | 33 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/template/blank.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | blank_page 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/template/css/template.css: -------------------------------------------------------------------------------- 1 | #frmbody { 2 | padding: 10px; 3 | background-color: #FFF; 4 | border: 1px solid #CCC; 5 | } 6 | 7 | .frmRow { 8 | margin-bottom: 10px; 9 | } 10 | 11 | #templatesrc { 12 | border: none; 13 | width: 320px; 14 | height: 240px; 15 | } 16 | 17 | .title { 18 | padding-bottom: 5px; 19 | } 20 | 21 | .mceActionPanel { 22 | padding-top: 5px; 23 | } 24 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/template/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.template_dlg',{title:"Templates",label:"Template","desc_label":"Description",desc:"Insert Predefined Template Content",select:"Select a Template",preview:"Preview",warning:"Warning: Updating a template with a different one may cause data loss.","mdate_format":"%Y-%m-%d %H:%M:%S","cdate_format":"%Y-%m-%d %H:%M:%S","months_long":"January,February,March,April,May,June,July,August,September,October,November,December","months_short":"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec","day_long":"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday","day_short":"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun"}); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/template/template.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | {#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 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/visualblocks/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.VisualBlocks",{init:function(a,b){var c;if(!window.NodeList){return}a.addCommand("mceVisualBlocks",function(){var e=a.dom,d;if(!c){c=e.uniqueId();d=e.create("link",{id:c,rel:"stylesheet",href:b+"/css/visualblocks.css"});a.getDoc().getElementsByTagName("head")[0].appendChild(d)}else{d=e.get(c);d.disabled=!d.disabled}a.controlManager.setActive("visualblocks",!d.disabled)});a.addButton("visualblocks",{title:"visualblocks.desc",cmd:"mceVisualBlocks"});a.onInit.add(function(){if(a.settings.visualblocks_default_state){a.execCommand("mceVisualBlocks",false,null,{skip_focus:true})}})},getInfo:function(){return{longname:"Visual blocks",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualblocks",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("visualblocks",tinymce.plugins.VisualBlocks)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/visualblocks/editor_plugin_src.js: -------------------------------------------------------------------------------- 1 | /** 2 | * editor_plugin_src.js 3 | * 4 | * Copyright 2012, 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.VisualBlocks', { 13 | init : function(ed, url) { 14 | var cssId; 15 | 16 | // We don't support older browsers like IE6/7 and they don't provide prototypes for DOM objects 17 | if (!window.NodeList) { 18 | return; 19 | } 20 | 21 | ed.addCommand('mceVisualBlocks', function() { 22 | var dom = ed.dom, linkElm; 23 | 24 | if (!cssId) { 25 | cssId = dom.uniqueId(); 26 | linkElm = dom.create('link', { 27 | id: cssId, 28 | rel : 'stylesheet', 29 | href : url + '/css/visualblocks.css' 30 | }); 31 | 32 | ed.getDoc().getElementsByTagName('head')[0].appendChild(linkElm); 33 | } else { 34 | linkElm = dom.get(cssId); 35 | linkElm.disabled = !linkElm.disabled; 36 | } 37 | 38 | ed.controlManager.setActive('visualblocks', !linkElm.disabled); 39 | }); 40 | 41 | ed.addButton('visualblocks', {title : 'visualblocks.desc', cmd : 'mceVisualBlocks'}); 42 | 43 | ed.onInit.add(function() { 44 | if (ed.settings.visualblocks_default_state) { 45 | ed.execCommand('mceVisualBlocks', false, null, {skip_focus : true}); 46 | } 47 | }); 48 | }, 49 | 50 | getInfo : function() { 51 | return { 52 | longname : 'Visual blocks', 53 | author : 'Moxiecode Systems AB', 54 | authorurl : 'http://tinymce.moxiecode.com', 55 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualblocks', 56 | version : tinymce.majorVersion + "." + tinymce.minorVersion 57 | }; 58 | } 59 | }); 60 | 61 | // Register plugin 62 | tinymce.PluginManager.add('visualblocks', tinymce.plugins.VisualBlocks); 63 | })(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/visualchars/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.VisualChars",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceVisualChars",c._toggleVisualChars,c);a.addButton("visualchars",{title:"visualchars.desc",cmd:"mceVisualChars"});a.onBeforeGetContent.add(function(d,e){if(c.state&&e.format!="raw"&&!e.draft){c.state=true;c._toggleVisualChars(false)}})},getInfo:function(){return{longname:"Visual characters",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_toggleVisualChars:function(m){var p=this,k=p.editor,a,g,j,n=k.getDoc(),o=k.getBody(),l,q=k.selection,e,c,f;p.state=!p.state;k.controlManager.setActive("visualchars",p.state);if(m){f=q.getBookmark()}if(p.state){a=[];tinymce.walk(o,function(b){if(b.nodeType==3&&b.nodeValue&&b.nodeValue.indexOf("\u00a0")!=-1){a.push(b)}},"childNodes");for(g=0;g$1');c=k.dom.create("div",null,l);while(node=c.lastChild){k.dom.insertAfter(node,a[g])}k.dom.remove(a[g])}}else{a=k.dom.select("span.mceItemNbsp",o);for(g=a.length-1;g>=0;g--){k.dom.remove(a[g],1)}}q.moveToBookmark(f)}});tinymce.PluginManager.add("visualchars",tinymce.plugins.VisualChars)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/wordcount/editor_plugin.js: -------------------------------------------------------------------------------- 1 | (function(){tinymce.create("tinymce.plugins.WordCount",{block:0,id:null,countre:null,cleanre:null,init:function(c,d){var e=this,f=0,g=tinymce.VK;e.countre=c.getParam("wordcount_countregex",/[\w\u2019\'-]+/g);e.cleanre=c.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$?\'\"_+=\\\/-]*/g);e.update_rate=c.getParam("wordcount_update_rate",2000);e.update_on_delete=c.getParam("wordcount_update_on_delete",false);e.id=c.id+"-word-count";c.onPostRender.add(function(i,h){var j,k;k=i.getParam("wordcount_target_id");if(!k){j=tinymce.DOM.get(i.id+"_path_row");if(j){tinymce.DOM.add(j.parentNode,"div",{style:"float: right"},i.getLang("wordcount.words","Words: ")+'0')}}else{tinymce.DOM.add(k,"span",{},'0')}});c.onInit.add(function(h){h.selection.onSetContent.add(function(){e._count(h)});e._count(h)});c.onSetContent.add(function(h){e._count(h)});function b(h){return h!==f&&(h===g.ENTER||f===g.SPACEBAR||a(f))}function a(h){return h===g.DELETE||h===g.BACKSPACE}c.onKeyUp.add(function(h,i){if(b(i.keyCode)||e.update_on_delete&&a(i.keyCode)){e._count(h)}f=i.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(){if(!a.destroyed){var c=b._getCount(a);tinymce.DOM.setHTML(b.id,c.toString());setTimeout(function(){b.block=0},b.update_rate)}},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)})(); -------------------------------------------------------------------------------- /static/js/tinymce/plugins/xhtmlxtras/css/attributes.css: -------------------------------------------------------------------------------- 1 | .panel_wrapper div.current { 2 | height: 290px; 3 | } 4 | 5 | #id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey { 6 | width: 200px; 7 | } 8 | 9 | #events_panel input { 10 | width: 200px; 11 | } 12 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/xhtmlxtras/css/popup.css: -------------------------------------------------------------------------------- 1 | input.field, select.field {width:200px;} 2 | input.picker {width:179px; margin-left: 5px;} 3 | input.disabled {border-color:#F2F2F2;} 4 | img.picker {vertical-align:text-bottom; cursor:pointer;} 5 | h1 {padding: 0 0 5px 0;} 6 | .panel_wrapper div.current {height:160px;} 7 | #xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {height: 230px;} 8 | a.browse span {display:block; width:20px; height:20px; background:url('../../../themes/advanced/img/icons.gif') -140px -20px;} 9 | #datetime {width:180px;} 10 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/xhtmlxtras/js/abbr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * abbr.js 3 | * 4 | * Copyright 2009, Moxiecode Systems AB 5 | * Released under LGPL License. 6 | * 7 | * License: http://tinymce.moxiecode.com/license 8 | * Contributing: http://tinymce.moxiecode.com/contributing 9 | */ 10 | 11 | function init() { 12 | SXE.initElementDialog('abbr'); 13 | if (SXE.currentAction == "update") { 14 | SXE.showRemoveButton(); 15 | } 16 | } 17 | 18 | function insertAbbr() { 19 | SXE.insertElement('abbr'); 20 | tinyMCEPopup.close(); 21 | } 22 | 23 | function removeAbbr() { 24 | SXE.removeElement('abbr'); 25 | tinyMCEPopup.close(); 26 | } 27 | 28 | tinyMCEPopup.onInit.add(init); 29 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/xhtmlxtras/js/acronym.js: -------------------------------------------------------------------------------- 1 | /** 2 | * acronym.js 3 | * 4 | * Copyright 2009, Moxiecode Systems AB 5 | * Released under LGPL License. 6 | * 7 | * License: http://tinymce.moxiecode.com/license 8 | * Contributing: http://tinymce.moxiecode.com/contributing 9 | */ 10 | 11 | function init() { 12 | SXE.initElementDialog('acronym'); 13 | if (SXE.currentAction == "update") { 14 | SXE.showRemoveButton(); 15 | } 16 | } 17 | 18 | function insertAcronym() { 19 | SXE.insertElement('acronym'); 20 | tinyMCEPopup.close(); 21 | } 22 | 23 | function removeAcronym() { 24 | SXE.removeElement('acronym'); 25 | tinyMCEPopup.close(); 26 | } 27 | 28 | tinyMCEPopup.onInit.add(init); 29 | -------------------------------------------------------------------------------- /static/js/tinymce/plugins/xhtmlxtras/js/cite.js: -------------------------------------------------------------------------------- 1 | /** 2 | * cite.js 3 | * 4 | * Copyright 2009, Moxiecode Systems AB 5 | * Released under LGPL License. 6 | * 7 | * License: http://tinymce.moxiecode.com/license 8 | * Contributing: http://tinymce.moxiecode.com/contributing 9 | */ 10 | 11 | function init() { 12 | SXE.initElementDialog('cite'); 13 | if (SXE.currentAction == "update") { 14 | SXE.showRemoveButton(); 15 | } 16 | } 17 | 18 | function insertCite() { 19 | SXE.insertElement('cite'); 20 | tinyMCEPopup.close(); 21 | } 22 | 23 | function removeCite() { 24 | SXE.removeElement('cite'); 25 | tinyMCEPopup.close(); 26 | } 27 | 28 | tinyMCEPopup.onInit.add(init); 29 | -------------------------------------------------------------------------------- /static/js/tinymce/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 | {#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 | -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/colorpicker.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/colorpicker.jpg -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/flash.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/flash.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/icons.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/iframe.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/iframe.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/pagebreak.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/pagebreak.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/quicktime.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/quicktime.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/realmedia.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/realmedia.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/shockwave.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/shockwave.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/trans.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/trans.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/video.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/video.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/img/windowsmedia.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/img/windowsmedia.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/js/anchor.js: -------------------------------------------------------------------------------- 1 | tinyMCEPopup.requireLangPack(); 2 | 3 | var AnchorDialog = { 4 | init : function(ed) { 5 | var action, elm, f = document.forms[0]; 6 | 7 | this.editor = ed; 8 | elm = ed.dom.getParent(ed.selection.getNode(), 'A'); 9 | v = ed.dom.getAttrib(elm, 'name') || ed.dom.getAttrib(elm, 'id'); 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, attribName; 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 | var aRule = ed.schema.getElementRule('a'); 33 | if (!aRule || aRule.attributes.name) { 34 | attribName = 'name'; 35 | } else { 36 | attribName = 'id'; 37 | } 38 | 39 | elm = ed.dom.getParent(ed.selection.getNode(), 'A'); 40 | if (elm) { 41 | elm.setAttribute(attribName, name); 42 | elm[attribName] = name; 43 | ed.undoManager.add(); 44 | } else { 45 | // create with zero-sized nbsp so that in Webkit where anchor is on last line by itself caret cannot be placed after it 46 | var attrs = {'class' : 'mceItemAnchor'}; 47 | attrs[attribName] = name; 48 | ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', attrs, '\uFEFF')); 49 | ed.nodeChanged(); 50 | } 51 | 52 | tinyMCEPopup.close(); 53 | } 54 | }; 55 | 56 | tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog); 57 | -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/js/source_editor.js: -------------------------------------------------------------------------------- 1 | tinyMCEPopup.requireLangPack(); 2 | tinyMCEPopup.onInit.add(onLoadInit); 3 | 4 | function saveContent() { 5 | tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value, {source_view : true}); 6 | tinyMCEPopup.close(); 7 | } 8 | 9 | function onLoadInit() { 10 | tinyMCEPopup.resizeToInnerSize(); 11 | 12 | // Remove Gecko spellchecking 13 | if (tinymce.isGecko) 14 | document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck"); 15 | 16 | document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent({source_view : true}); 17 | 18 | if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) { 19 | turnWrapOn(); 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 setWhiteSpaceCss(value) { 41 | var el = document.getElementById('htmlSource'); 42 | tinymce.DOM.setStyle(el, 'white-space', value); 43 | } 44 | 45 | function turnWrapOff() { 46 | if (tinymce.isWebKit) { 47 | setWhiteSpaceCss('pre'); 48 | } else { 49 | setWrap('off'); 50 | } 51 | } 52 | 53 | function turnWrapOn() { 54 | if (tinymce.isWebKit) { 55 | setWhiteSpaceCss('pre-wrap'); 56 | } else { 57 | setWrap('soft'); 58 | } 59 | } 60 | 61 | function toggleWordWrap(elm) { 62 | if (elm.checked) { 63 | turnWrapOn(); 64 | } else { 65 | turnWrapOff(); 66 | } 67 | } 68 | 69 | function resizeInputs() { 70 | var vp = tinyMCEPopup.dom.getViewPort(window), el; 71 | 72 | el = document.getElementById('htmlSource'); 73 | 74 | if (el) { 75 | el.style.width = (vp.w - 20) + 'px'; 76 | el.style.height = (vp.h - 65) + 'px'; 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/langs/en_dlg.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.advanced_dlg', {"link_list":"Link List","link_is_external":"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?","link_is_email":"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?","link_titlefield":"Title","link_target_blank":"Open Link in a New Window","link_target_same":"Open Link in the Same Window","link_target":"Target","link_url":"Link URL","link_title":"Insert/Edit Link","image_align_right":"Right","image_align_left":"Left","image_align_textbottom":"Text Bottom","image_align_texttop":"Text Top","image_align_bottom":"Bottom","image_align_middle":"Middle","image_align_top":"Top","image_align_baseline":"Baseline","image_align":"Alignment","image_hspace":"Horizontal Space","image_vspace":"Vertical Space","image_dimensions":"Dimensions","image_alt":"Image Description","image_list":"Image List","image_border":"Border","image_src":"Image URL","image_title":"Insert/Edit Image","charmap_title":"Select Special Character", "charmap_usage":"Use left and right arrows to navigate.","colorpicker_name":"Name:","colorpicker_color":"Color:","colorpicker_named_title":"Named Colors","colorpicker_named_tab":"Named","colorpicker_palette_title":"Palette Colors","colorpicker_palette_tab":"Palette","colorpicker_picker_title":"Color Picker","colorpicker_picker_tab":"Picker","colorpicker_title":"Select a Color","code_wordwrap":"Word Wrap","code_title":"HTML Source Editor","anchor_name":"Anchor Name","anchor_title":"Insert/Edit Anchor","about_loaded":"Loaded Plugins","about_version":"Version","about_author":"Author","about_plugin":"Plugin","about_plugins":"Plugins","about_license":"License","about_help":"Help","about_general":"About","about_title":"About TinyMCE","anchor_invalid":"Please specify a valid anchor name.","accessibility_help":"Accessibility Help","accessibility_usage_title":"General Usage","invalid_color_value":"Invalid color value","":""}); 2 | -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/shortcuts.htm: -------------------------------------------------------------------------------- 1 | 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 | -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/skins/default/img/buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/skins/default/img/buttons.png -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/skins/default/img/items.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/skins/default/img/items.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/skins/default/img/menu_check.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/skins/default/img/menu_check.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/skins/default/img/progress.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/skins/default/img/progress.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/skins/default/img/tabs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/skins/default/img/tabs.gif -------------------------------------------------------------------------------- /static/js/tinymce/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, img, hr, .mceItemAnchor {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 | *[contentEditable]:focus {outline:0} 25 | -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/skins/o2k7/img/button_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/skins/o2k7/img/button_bg.png -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png -------------------------------------------------------------------------------- /static/js/tinymce/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} -------------------------------------------------------------------------------- /static/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css: -------------------------------------------------------------------------------- 1 | /* Silver */ 2 | .o2k7SkinSilver .mceToolbar .mceToolbarStart span, .o2k7SkinSilver .mceButton, .o2k7SkinSilver .mceSplitButton, .o2k7SkinSilver .mceSeparator, .o2k7SkinSilver .mceSplitButton a.mceOpen, .o2k7SkinSilver .mceListBox a.mceOpen {background-image:url(img/button_bg_silver.png)} 3 | .o2k7SkinSilver 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 | -------------------------------------------------------------------------------- /static/js/tinymce/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 | -------------------------------------------------------------------------------- /static/js/tinymce/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)})(); -------------------------------------------------------------------------------- /static/js/tinymce/themes/simple/img/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/simple/img/icons.gif -------------------------------------------------------------------------------- /static/js/tinymce/themes/simple/langs/en.js: -------------------------------------------------------------------------------- 1 | tinyMCE.addI18n('en.simple',{"cleanup_desc":"Cleanup Messy Code","redo_desc":"Redo (Ctrl+Y)","undo_desc":"Undo (Ctrl+Z)","numlist_desc":"Insert/Remove Numbered List","bullist_desc":"Insert/Remove Bulleted List","striketrough_desc":"Strikethrough","underline_desc":"Underline (Ctrl+U)","italic_desc":"Italic (Ctrl+I)","bold_desc":"Bold (Ctrl+B)"}); -------------------------------------------------------------------------------- /static/js/tinymce/themes/simple/skins/default/content.css: -------------------------------------------------------------------------------- 1 | body, td, pre { 2 | font-family: Verdana, Arial, Helvetica, sans-serif; 3 | font-size: 10px; 4 | } 5 | 6 | body { 7 | background-color: #FFFFFF; 8 | } 9 | 10 | .mceVisualAid { 11 | border: 1px dashed #BBBBBB; 12 | } 13 | 14 | /* MSIE specific */ 15 | 16 | * html body { 17 | scrollbar-3dlight-color: #F0F0EE; 18 | scrollbar-arrow-color: #676662; 19 | scrollbar-base-color: #F0F0EE; 20 | scrollbar-darkshadow-color: #DDDDDD; 21 | scrollbar-face-color: #E0E0DD; 22 | scrollbar-highlight-color: #F0F0EE; 23 | scrollbar-shadow-color: #F0F0EE; 24 | scrollbar-track-color: #F5F5F5; 25 | } 26 | -------------------------------------------------------------------------------- /static/js/tinymce/themes/simple/skins/o2k7/content.css: -------------------------------------------------------------------------------- 1 | body, td, pre {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} 2 | 3 | body {background: #FFF;} 4 | .mceVisualAid {border: 1px dashed #BBB;} 5 | 6 | /* IE */ 7 | 8 | * html body { 9 | scrollbar-3dlight-color: #F0F0EE; 10 | scrollbar-arrow-color: #676662; 11 | scrollbar-base-color: #F0F0EE; 12 | scrollbar-darkshadow-color: #DDDDDD; 13 | scrollbar-face-color: #E0E0DD; 14 | scrollbar-highlight-color: #F0F0EE; 15 | scrollbar-shadow-color: #F0F0EE; 16 | scrollbar-track-color: #F5F5F5; 17 | } 18 | -------------------------------------------------------------------------------- /static/js/tinymce/themes/simple/skins/o2k7/img/button_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcoppieters/cody/12e0d5e10b2ecf8733d025a529bbd2b4fead9e93/static/js/tinymce/themes/simple/skins/o2k7/img/button_bg.png -------------------------------------------------------------------------------- /testing/testdynamic.js: -------------------------------------------------------------------------------- 1 | var http = require("http"); 2 | var request = http.request({ 3 | hostname: "essen.local", 4 | port: 3001, 5 | path: "/data/../../../../../Users/johan/electronics-reference-sheet.jpg", 6 | method: "GET", 7 | headers: {Accept: "text/html"} 8 | }, function(response) { 9 | var str = ''; 10 | response.on('data', function (chunk) { str += chunk; }); 11 | response.on('error', console.log); 12 | response.on('end', function () { console.log(str); }); 13 | }); 14 | request.end(); 15 | 16 | -------------------------------------------------------------------------------- /views/cms/content-type.ejs: -------------------------------------------------------------------------------- 1 |
2 | 6 | 10 |
11 | 12 | <%= __('Add image')%> » 13 |
14 |
15 | 16 | <%= __('Add file')%> » 17 |
18 | 22 | 26 | 30 | 34 |
35 | -------------------------------------------------------------------------------- /views/cms/dashboard.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <%- include("header.ejs") %> 6 | 7 | 8 |
9 |
10 | <%- include("top.ejs") %> 11 |
12 | 13 | <% if (login) { %> 14 | 32 | 33 | <% } else { %> 34 |

Login first

35 | <% } %> 36 | 37 | <%- include("footer.ejs") %> 38 |
39 | 40 | 41 | -------------------------------------------------------------------------------- /views/cms/files.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <%- include("header.ejs") %> 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 23 | 24 | 25 |
26 |
27 | <%- include("top.ejs") %> 28 | <%- include("navigation.ejs") %> 29 |
30 | 31 |
32 | 33 |
34 | 35 |
36 | 37 | 38 | 39 | 40 |
41 |
  •  Files 42 | <%- controller.getTree() %> 43 |
44 |
45 | 46 |
47 | 48 |
49 |
50 | 51 |
52 | 53 | <%- include("footer.ejs") %> 54 |
55 | 56 | 57 | -------------------------------------------------------------------------------- /views/cms/footer.ejs: -------------------------------------------------------------------------------- 1 |
2 | 3 |

<%=version %>

4 |
5 | -------------------------------------------------------------------------------- /views/cms/forms-data.ejs: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 6 |
7 |
8 | 9 |
10 | > 11 | > 12 | > 13 | > 14 |
15 |
16 |
17 | 18 |
19 | Created: <%= formatDate(data.created) %> <%= formatTime(data.created) %> 20 | <% if ((typeof data.modified !== "undefined") && (data.modified)) { %> 21 | - Modified: <%= formatDate(data.modified) %> <%= formatTime(data.modified) %> 22 | <% } %> 23 |
24 |
25 |
26 | <% var label = {}; label[page.language] = "Save"; %> 27 | <% var CancelAndDelete = ""; %> 28 | <%- meta.html( page.language, { name: "Edit", options: {}, extraButtons: CancelAndDelete, labels: label }) %> 29 |
30 |
-------------------------------------------------------------------------------- /views/cms/header.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | cody admin: <%=page.title%> 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /views/cms/images.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <%- include("header.ejs") %> 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 23 | 24 | 25 |
26 |
27 | <%- include("top.ejs") %> 28 | <%- include("navigation.ejs") %> 29 |
30 | 31 |
32 | 33 |
34 | 35 |
36 | 37 | 38 | 39 | 40 |
41 | 52 | 53 |
54 | 55 |
56 | 57 |
58 |
59 | 60 |
61 | 62 | <%- include("footer.ejs") %> 63 |
64 | 65 | 66 | -------------------------------------------------------------------------------- /views/cms/navigation.ejs: -------------------------------------------------------------------------------- 1 | 15 | <% if (message !== "") { %> 16 |

<%= __(message) %>

17 | <% if (status === "success") { %> 18 | 21 | <% } %> 22 | <% } %> -------------------------------------------------------------------------------- /views/cms/top.ejs: -------------------------------------------------------------------------------- 1 | 2 | <% if (page.parent && isLoggedIn()) { %> 3 | <%= __("Dashboard")%> » <%=page.parent.title%> 4 | <% } %> 5 |
6 | <%= __("Help")%> 7 | <% if (isLoggedIn()) { %> 8 | <%= __("Account")%> 9 | <%= __("Sign out")%> 10 | <% } %> 11 |
12 | -------------------------------------------------------------------------------- /views/front/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Unit testing. 6 |
7 |

Controller

8 | <%- context.cody.unitTests.controller(context) %> 9 |
10 | 11 |

Path

12 | enzo verder... 13 |
14 | 15 | Johan. 16 |
17 | 18 | --------------------------------------------------------------------------------