Merge branch 's10_MDL-27341_flickr_plugin_master' of git://github.com/dongsheng/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Thu, 23 Jun 2011 00:02:24 +0000 (02:02 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Thu, 23 Jun 2011 00:02:24 +0000 (02:02 +0200)
451 files changed:
admin/qbehaviours.php [new file with mode: 0644]
admin/qtypes.php
admin/settings/plugins.php
backup/cc/includes/constants.php
backup/moodle2/restore_stepslib.php
backup/util/helper/backup_cron_helper.class.php
calendar/lib.php
install/lang/bg/error.php [new file with mode: 0644]
install/lang/bg/install.php
install/lang/de/install.php
install/lang/en/install.php
install/lang/it/install.php
install/lang/zh_cn/admin.php
install/lang/zh_cn/moodle.php
lang/en/admin.php
lang/en/question.php
lib/adminlib.php
lib/db/install.xml
lib/db/services.php
lib/db/upgrade.php
lib/dml/moodle_database.php
lib/editor/tinymce/lang/en/editor_tinymce.php
lib/editor/tinymce/lib.php
lib/editor/tinymce/readme_moodle.txt
lib/editor/tinymce/tiny_mce/3.3.9.2/jquery.tinymce.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advhr/rule.htm [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advlist/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/autoresize/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/contextmenu/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/editor_plugin_src.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/fullpage.htm [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/js/fullpage.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullscreen/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/legacyoutput/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/css/content.css [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/editor_plugin_src.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/img/flv_player.swf [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/js/media.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/media.htm [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodleemoticon/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/nonbreaking/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/pagebreak/css/content.css [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/pagebreak/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/pagebreak/img/trans.gif [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/paste/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/searchreplace/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/style/props.htm [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/tabfocus/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/wordcount/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/editor_plugin.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/charmap.htm [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/editor_template.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/image.htm [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/themes/simple/editor_template.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/tiny_mce.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/tiny_mce_jquery.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/tiny_mce_popup.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/tiny_mce_prototype.js [deleted file]
lib/editor/tinymce/tiny_mce/3.3.9.2/utils/mctabs.js [deleted file]
lib/editor/tinymce/tiny_mce/3.4.2/jquery.tinymce.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/langs/en.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/langs/en.js with 76% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/license.txt [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/license.txt with 98% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advhr/css/advhr.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advhr/css/advhr.css with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advhr/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advhr/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advhr/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advhr/editor_plugin_src.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advhr/js/rule.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advhr/js/rule.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advhr/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advhr/langs/en_dlg.js with 64% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advhr/rule.htm [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advimage/css/advimage.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advimage/css/advimage.css with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advimage/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advimage/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advimage/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advimage/editor_plugin_src.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advimage/image.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advimage/image.htm with 80% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advimage/img/sample.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advimage/img/sample.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advimage/js/image.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advimage/js/image.js with 89% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advimage/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advimage/langs/en_dlg.js with 94% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advlink/css/advlink.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advlink/css/advlink.css with 98% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advlink/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advlink/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advlink/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advlink/editor_plugin_src.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advlink/js/advlink.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advlink/js/advlink.js with 92% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advlink/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advlink/langs/en_dlg.js with 84% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advlink/link.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advlink/link.htm with 78% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advlist/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/advlist/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advlist/editor_plugin_src.js with 88% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/autolink/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/autolink/editor_plugin_src.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/autoresize/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/autoresize/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/autoresize/editor_plugin_src.js with 90% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/autosave/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/autosave/editor_plugin.js with 55% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/autosave/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/autosave/editor_plugin_src.js with 93% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/autosave/langs/en.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/autosave/langs/en.js with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/bbcode/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/bbcode/editor_plugin.js with 75% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/bbcode/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/bbcode/editor_plugin_src.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/contextmenu/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/contextmenu/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/contextmenu/editor_plugin_src.js with 78% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/directionality/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/directionality/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/directionality/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/directionality/editor_plugin_src.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/dragmath/dragmath.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/dragmath/dragmath.php with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/dragmath/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/dragmath/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/dragmath/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/dragmath/editor_plugin_src.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/dragmath/img/dragmath.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/dragmath/img/dragmath.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/dragmath/js/dragmath.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/dragmath/js/dragmath.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/dragmath/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/dragmath/langs/en_dlg.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/editor_plugin_src.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/emotions.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/emotions.htm with 90% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-cool.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-cool.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-cry.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-cry.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-embarassed.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-embarassed.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-foot-in-mouth.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-foot-in-mouth.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-frown.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-frown.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-innocent.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-innocent.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-kiss.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-kiss.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-laughing.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-laughing.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-money-mouth.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-money-mouth.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-sealed.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-sealed.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-smile.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-smile.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-surprised.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-surprised.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-tongue-out.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-tongue-out.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-undecided.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-undecided.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-wink.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-wink.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/img/smiley-yell.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/img/smiley-yell.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/js/emotions.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/js/emotions.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/emotions/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/emotions/langs/en_dlg.js with 94% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/example/dialog.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/example/dialog.htm with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/example/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/example/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/example/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/example/editor_plugin_src.js with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/example/img/example.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/example/img/example.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/example/js/dialog.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/example/js/dialog.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/example/langs/en.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/example/langs/en.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/example/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/example/langs/en_dlg.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/fullpage/css/fullpage.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/css/fullpage.css with 71% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/fullpage/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/fullpage/editor_plugin_src.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/fullpage/fullpage.htm [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/fullpage/js/fullpage.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/fullpage/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/langs/en_dlg.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/fullscreen/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/fullscreen/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullscreen/editor_plugin_src.js with 90% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/fullscreen/fullscreen.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullscreen/fullscreen.htm with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/iespell/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/iespell/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/iespell/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/iespell/editor_plugin_src.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/editor_plugin_src.js with 83% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/skins/clearlooks2/img/alert.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/skins/clearlooks2/img/alert.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/skins/clearlooks2/img/button.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/skins/clearlooks2/img/button.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/skins/clearlooks2/img/corners.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/skins/clearlooks2/img/corners.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/skins/clearlooks2/window.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/skins/clearlooks2/window.css with 91% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/inlinepopups/template.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/inlinepopups/template.htm with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/insertdatetime/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/insertdatetime/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/insertdatetime/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/insertdatetime/editor_plugin_src.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/layer/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/layer/editor_plugin.js with 94% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/layer/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/layer/editor_plugin_src.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/legacyoutput/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/legacyoutput/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/legacyoutput/editor_plugin_src.js with 77% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/lists/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/lists/editor_plugin_src.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/media/css/media.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/css/media.css with 77% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/media/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/media/editor_plugin_src.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/media/js/embed.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/js/embed.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/media/js/media.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/media/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/langs/en_dlg.js with 89% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/media/media.htm [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/media/moxieplayer.swf [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodleemoticon/dialog.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodleemoticon/dialog.php with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodleemoticon/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodleemoticon/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodleemoticon/editor_plugin_src.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodleemoticon/img/moodleemoticon.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodleemoticon/img/moodleemoticon.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodleemoticon/js/dialog_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodleemoticon/js/dialog_src.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodleemoticon/js/rev2/dialog.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodleemoticon/js/rev2/dialog.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodlemedia/css/media.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodlemedia/css/media.css with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodlemedia/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodlemedia/editor_plugin.js with 92% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodlemedia/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodlemedia/editor_plugin_src.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodlemedia/img/icon.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodlemedia/img/icon.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodlemedia/js/media.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodlemedia/js/media.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodlemedia/moodlemedia.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodlemedia/moodlemedia.htm with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodlenolink/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodlenolink/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodlenolink/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodlenolink/editor_plugin_src.js with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodlenolink/img/ed_nolink.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodlenolink/img/ed_nolink.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/moodlenolink/langs/en.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/moodlenolink/langs/en.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/nonbreaking/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/nonbreaking/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/nonbreaking/editor_plugin_src.js with 87% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/noneditable/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/noneditable/editor_plugin.js with 75% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/noneditable/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/noneditable/editor_plugin_src.js with 92% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/pagebreak/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/pagebreak/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/pagebreak/editor_plugin_src.js with 87% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/paste/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/paste/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/paste/editor_plugin_src.js with 80% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/paste/js/pastetext.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/paste/js/pastetext.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/paste/js/pasteword.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/paste/js/pasteword.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/paste/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/paste/langs/en_dlg.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/paste/pastetext.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/paste/pastetext.htm with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/paste/pasteword.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/paste/pasteword.htm with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/preview/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/preview/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/preview/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/preview/editor_plugin_src.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/preview/example.html [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/preview/example.html with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/preview/jscripts/embed.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/preview/jscripts/embed.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/preview/preview.html [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/preview/preview.html with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/print/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/print/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/print/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/print/editor_plugin_src.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/save/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/save/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/save/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/save/editor_plugin_src.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/searchreplace/css/searchreplace.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/searchreplace/css/searchreplace.css with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/searchreplace/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/searchreplace/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/searchreplace/editor_plugin_src.js with 88% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/searchreplace/js/searchreplace.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/searchreplace/js/searchreplace.js with 83% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/searchreplace/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/searchreplace/langs/en_dlg.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/searchreplace/searchreplace.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/searchreplace/searchreplace.htm with 68% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/changelog.txt [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/changelog.txt with 84% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/classes/EnchantSpell.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/classes/EnchantSpell.php with 87% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/classes/GoogleSpell.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/classes/GoogleSpell.php with 92% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/classes/PSpell.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/classes/PSpell.php with 88% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/classes/PSpellShell.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/classes/PSpellShell.php with 91% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/classes/SpellChecker.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/classes/SpellChecker.php with 87% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/classes/utils/JSON.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/classes/utils/JSON.php with 98% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/classes/utils/Logger.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/classes/utils/Logger.php with 92% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/config.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/config.php with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/css/content.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/css/content.css with 98% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/editor_plugin_src.js with 76% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/img/wline.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/img/wline.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/includes/general.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/includes/general.php with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/spellchecker/rpc.php [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/spellchecker/rpc.php with 91% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/style/css/props.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/style/css/props.css with 98% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/style/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/style/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/style/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/style/editor_plugin_src.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/style/js/props.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/style/js/props.js with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/style/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/style/langs/en_dlg.js with 87% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/style/props.htm [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/tabfocus/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/tabfocus/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/tabfocus/editor_plugin_src.js with 66% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/cell.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/cell.htm with 80% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/css/cell.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/css/cell.css with 91% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/css/row.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/css/row.css with 91% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/css/table.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/css/table.css with 92% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/editor_plugin_src.js with 86% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/js/cell.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/js/cell.js with 91% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/js/merge_cells.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/js/merge_cells.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/js/row.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/js/row.js with 87% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/js/table.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/js/table.js with 93% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/langs/en_dlg.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/merge_cells.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/merge_cells.htm with 60% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/row.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/row.htm with 82% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/table/table.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/table/table.htm with 56% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/template/blank.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/template/blank.htm with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/template/css/template.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/template/css/template.css with 91% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/template/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/template/editor_plugin.js with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/template/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/template/editor_plugin_src.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/template/js/template.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/template/js/template.js with 94% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/template/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/template/langs/en_dlg.js with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/template/template.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/template/template.htm with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/visualchars/editor_plugin.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/visualchars/editor_plugin.js with 70% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/visualchars/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/visualchars/editor_plugin_src.js with 91% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/wordcount/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/wordcount/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/wordcount/editor_plugin_src.js with 63% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/abbr.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/abbr.htm with 88% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/acronym.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/acronym.htm with 88% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/attributes.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/attributes.htm with 85% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/cite.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/cite.htm with 89% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/css/attributes.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/css/attributes.css with 94% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/css/popup.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/css/popup.css with 98% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/del.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/del.htm with 85% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/editor_plugin.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/editor_plugin_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/editor_plugin_src.js with 87% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/ins.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/ins.htm with 82% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/js/abbr.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/js/abbr.js with 94% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/js/acronym.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/js/acronym.js with 94% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/js/attributes.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/js/attributes.js with 90% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/js/cite.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/js/cite.js with 94% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/js/del.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/js/del.js with 88% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/js/element_common.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/js/element_common.js with 94% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/js/ins.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/js/ins.js with 85% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/plugins/xhtmlxtras/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/xhtmlxtras/langs/en_dlg.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/about.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/about.htm with 69% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/anchor.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/anchor.htm with 65% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/charmap.htm [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/color_picker.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/color_picker.htm with 59% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/editor_template.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/editor_template_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/editor_template_src.js with 81% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/image.htm [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/colorpicker.jpg [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/img/colorpicker.jpg with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/flash.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/img/flash.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/icons.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/img/icons.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/iframe.gif [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/pagebreak.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/pagebreak/img/pagebreak.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/quicktime.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/img/quicktime.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/realmedia.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/img/realmedia.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/shockwave.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/img/shockwave.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/trans.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/img/trans.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/video.gif [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/img/windowsmedia.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/media/img/windowsmedia.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/js/about.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/js/about.js with 93% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/js/anchor.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/js/anchor.js with 83% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/js/charmap.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/js/charmap.js with 89% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/js/color_picker.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/js/color_picker.js with 51% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/js/image.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/js/image.js with 93% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/js/link.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/js/link.js with 92% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/js/source_editor.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/js/source_editor.js with 92% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/langs/en.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/langs/en.js with 86% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/langs/en_dlg.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/langs/en_dlg.js with 76% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/link.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/link.htm with 50% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/shortcuts.htm [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/default/content.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/default/content.css with 61% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/default/dialog.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/default/dialog.css with 97% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/default/img/buttons.png [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/default/img/buttons.png with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/default/img/items.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/default/img/items.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/default/img/menu_arrow.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/default/img/menu_arrow.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/default/img/menu_check.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/default/img/menu_check.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/default/img/progress.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/default/img/progress.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/default/img/tabs.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/default/img/tabs.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/default/ui.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/default/ui.css with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/highcontrast/content.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/o2k7/content.css with 70% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/highcontrast/dialog.css [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/highcontrast/ui.css [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/o2k7/content.css [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/o2k7/dialog.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/o2k7/dialog.css with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/o2k7/img/button_bg.png [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/o2k7/img/button_bg.png with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/o2k7/img/button_bg_black.png [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/o2k7/img/button_bg_black.png with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/o2k7/img/button_bg_silver.png [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/o2k7/img/button_bg_silver.png with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/o2k7/ui.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/o2k7/ui.css with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/o2k7/ui_black.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/o2k7/ui_black.css with 79% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/skins/o2k7/ui_silver.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/skins/o2k7/ui_silver.css with 85% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/advanced/source_editor.htm [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/advanced/source_editor.htm with 74% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/simple/editor_template.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/themes/simple/editor_template_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/simple/editor_template_src.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/simple/img/icons.gif [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/simple/img/icons.gif with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/simple/langs/en.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/simple/langs/en.js with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/simple/skins/default/content.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/simple/skins/default/content.css with 95% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/simple/skins/default/ui.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/simple/skins/default/ui.css with 98% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/simple/skins/o2k7/content.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/simple/skins/o2k7/content.css with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/simple/skins/o2k7/img/button_bg.png [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/simple/skins/o2k7/img/button_bg.png with 100% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/themes/simple/skins/o2k7/ui.css [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/themes/simple/skins/o2k7/ui.css with 98% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/tiny_mce.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/tiny_mce_dev.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/tiny_mce_dev.js with 83% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/tiny_mce_jquery.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/tiny_mce_jquery_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/tiny_mce_jquery_src.js with 69% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/tiny_mce_popup.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/tiny_mce_popup_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/tiny_mce_popup_src.js with 91% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/tiny_mce_prototype.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/tiny_mce_prototype_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/tiny_mce_prototype_src.js with 71% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/tiny_mce_src.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/tiny_mce_src.js with 71% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/utils/editable_selects.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/utils/editable_selects.js with 96% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/utils/form_utils.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/utils/form_utils.js with 85% similarity]
lib/editor/tinymce/tiny_mce/3.4.2/utils/mctabs.js [new file with mode: 0644]
lib/editor/tinymce/tiny_mce/3.4.2/utils/validate.js [moved from lib/editor/tinymce/tiny_mce/3.3.9.2/utils/validate.js with 76% similarity]
lib/editor/tinymce/version.php
lib/filestorage/file_storage.php
lib/filestorage/stored_file.php
lib/navigationlib.php
lib/olson.php
lib/outputcomponents.php
lib/portfoliolib.php
lib/setup.php
lib/simpletestlib.php
lib/thirdpartylibs.xml
lib/timezone.txt
lib/weblib.php
local/qeupgradehelper/afterupgradelib.php
mod/assignment/lib.php
mod/assignment/renderer.php
mod/chat/report.php
mod/choice/renderer.php
mod/data/lib.php
mod/data/preset/imagegallery/csstemplate.css
mod/data/view.php
mod/forum/discuss.php
mod/forum/lib.php
mod/glossary/export.php
mod/glossary/lib.php
mod/lesson/format.php
mod/lesson/lib.php
mod/lesson/pagetypes/shortanswer.php
mod/quiz/attemptlib.php
mod/quiz/db/upgrade.php
mod/quiz/index.php
mod/quiz/lang/en/quiz.php
mod/quiz/lib.php
mod/quiz/locallib.php
mod/quiz/renderer.php
mod/quiz/review.php
mod/quiz/reviewquestion.php
mod/quiz/startattempt.php
mod/scorm/lib.php
mod/workshop/allocation/random/lang/en/workshopallocation_random.php
mod/workshop/allocation/random/lib.php
mod/workshop/form/numerrors/assessment_form.php
mod/workshop/lang/en/workshop.php
mod/workshop/locallib.php
question/behaviour/adaptive/behaviour.php
question/behaviour/adaptive/lang/en/qbehaviour_adaptive.php
question/behaviour/adaptivenopenalty/behaviour.php
question/behaviour/behaviourbase.php
question/behaviour/deferredcbm/behaviour.php
question/behaviour/immediatecbm/behaviour.php
question/behaviour/immediatefeedback/behaviour.php
question/behaviour/immediatefeedback/lang/en/qbehaviour_immediatefeedback.php
question/behaviour/interactivecountback/behaviour.php
question/behaviour/missing/simpletest/testmissingbehaviour.php
question/behaviour/rendererbase.php
question/engine/bank.php
question/engine/datalib.php
question/engine/lib.php
question/engine/questionattempt.php
question/engine/questionattemptstep.php
question/engine/questionusage.php
question/engine/renderer.php
question/engine/simpletest/testdatalib.php
question/engine/simpletest/testquestionattempt.php
question/engine/simpletest/testquestionattemptstep.php
question/engine/simpletest/testquestionengine.php
question/engine/upgrade/upgradelib.php
question/format/gift/format.php
question/format/gift/simpletest/testgiftformat.php
question/format/qti_two/format.php
question/format/xml/format.php
question/format/xml/simpletest/testxmlformat.php
question/type/calculated/edit_calculated_form.php
question/type/calculatedmulti/edit_calculatedmulti_form.php
question/type/calculatedsimple/edit_calculatedsimple_form.php
question/type/edit_question_form.php
question/type/essay/renderer.php
question/type/multianswer/edit_multianswer_form.php
question/type/multianswer/lang/en/qtype_multianswer.php
question/type/multianswer/question.php
question/type/multichoice/edit_multichoice_form.php
question/type/multichoice/question.php
question/type/multichoice/questiontype.php
question/type/multichoice/renderer.php
question/type/multichoice/simpletest/testquestion.php
question/type/multichoice/simpletest/testquestiontype.php
question/type/multichoice/styles.css
question/type/numerical/edit_numerical_form.php
question/type/numerical/question.php
question/type/questionbase.php
question/type/questiontypebase.php
repository/flickr_public/lib.php
theme/base/style/admin.css
theme/base/style/question.css
user/externallib.php
user/index.php
version.php

diff --git a/admin/qbehaviours.php b/admin/qbehaviours.php
new file mode 100644 (file)
index 0000000..88b75fc
--- /dev/null
@@ -0,0 +1,302 @@
+<?php
+
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Allows the admin to manage question behaviours.
+ *
+ * @package    moodlecore
+ * @subpackage questionengine
+ * @copyright  2011 The Open University
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+
+require_once(dirname(__FILE__) . '/../config.php');
+require_once($CFG->libdir . '/questionlib.php');
+require_once($CFG->libdir . '/adminlib.php');
+require_once($CFG->libdir . '/tablelib.php');
+
+// Check permissions.
+require_login();
+$systemcontext = get_context_instance(CONTEXT_SYSTEM);
+require_capability('moodle/question:config', $systemcontext);
+
+admin_externalpage_setup('manageqbehaviours');
+$thispageurl = new moodle_url('/admin/qbehaviours.php');
+
+$behaviours = get_plugin_list('qbehaviour');
+
+// Get some data we will need - question counts and which types are needed.
+$counts = $DB->get_records_sql_menu("
+        SELECT behaviour, COUNT(1)
+        FROM {question_attempts} GROUP BY behaviour");
+$needed = array();
+$archetypal = array();
+foreach ($behaviours as $behaviour => $notused) {
+    if (!array_key_exists($behaviour, $counts)) {
+        $counts[$behaviour] = 0;
+    }
+    $needed[$behaviour] = $counts[$behaviour] > 0;
+    $archetypal[$behaviour] = question_engine::is_behaviour_archetypal($behaviour);
+}
+
+foreach ($behaviours as $behaviour => $notused) {
+    foreach (question_engine::get_behaviour_required_behaviours($behaviour) as $reqbehaviour) {
+        $needed[$reqbehaviour] = true;
+    }
+}
+foreach ($counts as $behaviour => $count) {
+    if (!array_key_exists($behaviour, $behaviours)) {
+        $counts['missingtype'] += $count;
+    }
+}
+
+// Work of the correct sort order.
+$config = get_config('question');
+$sortedbehaviours = array();
+foreach ($behaviours as $behaviour => $notused) {
+    $sortedbehaviours[$behaviour] = question_engine::get_behaviour_name($behaviour);
+}
+if (!empty($config->behavioursortorder)) {
+    $sortedbehaviours = question_engine::sort_behaviours($sortedbehaviours,
+            $config->behavioursortorder, '');
+}
+
+if (!empty($config->disabledbehaviours)) {
+    $disabledbehaviours = explode(',', $config->disabledbehaviours);
+} else {
+    $disabledbehaviours = array();
+}
+
+// Process actions ============================================================
+
+// Disable.
+if (($disable = optional_param('disable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
+    if (!isset($behaviours[$disable])) {
+        print_error('unknownbehaviour', 'question', $thispageurl, $disable);
+    }
+
+    if (array_search($disable, $disabledbehaviours) === false) {
+        $disabledbehaviours[] = $disable;
+        set_config('disabledbehaviours', implode(',', $disabledbehaviours), 'question');
+    }
+    redirect($thispageurl);
+}
+
+// Enable.
+if (($enable = optional_param('enable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
+    if (!isset($behaviours[$enable])) {
+        print_error('unknownbehaviour', 'question', $thispageurl, $enable);
+    }
+
+    if (!$archetypal[$enable]) {
+        print_error('cannotenablebehaviour', 'question', $thispageurl, $enable);
+    }
+
+    if (($key = array_search($enable, $disabledbehaviours)) !== false) {
+        unset($disabledbehaviours[$key]);
+        set_config('disabledbehaviours', implode(',', $disabledbehaviours), 'question');
+    }
+    redirect($thispageurl);
+}
+
+// Move up in order.
+if (($up = optional_param('up', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
+    if (!isset($behaviours[$up])) {
+        print_error('unknownbehaviour', 'question', $thispageurl, $up);
+    }
+
+    // This function works fine for behaviours, as well as qtypes.
+    $neworder = question_reorder_qtypes($sortedbehaviours, $up, -1);
+    set_config('behavioursortorder', implode(',', $neworder), 'question');
+    redirect($thispageurl);
+}
+
+// Move down in order.
+if (($down = optional_param('down', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
+    if (!isset($behaviours[$down])) {
+        print_error('unknownbehaviour', 'question', $thispageurl, $down);
+    }
+
+    // This function works fine for behaviours, as well as qtypes.
+    $neworder = question_reorder_qtypes($sortedbehaviours, $down, +1);
+    set_config('behavioursortorder', implode(',', $neworder), 'question');
+    redirect($thispageurl);
+}
+
+// Delete.
+if (($delete = optional_param('delete', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
+    // Check it is OK to delete this question type.
+    if ($delete == 'missing') {
+        print_error('cannotdeletemissingbehaviour', 'question', $thispageurl);
+    }
+
+    if (!isset($behaviours[$delete])) {
+        print_error('unknownbehaviour', 'question', $thispageurl, $delete);
+    }
+
+    $behaviourname = $sortedbehaviours[$delete];
+    if ($counts[$delete] > 0) {
+        print_error('cannotdeletebehaviourinuse', 'question', $thispageurl, $behaviourname);
+    }
+    if ($needed[$delete] > 0) {
+        print_error('cannotdeleteneededbehaviour', 'question', $thispageurl, $behaviourname);
+    }
+
+    // If not yet confirmed, display a confirmation message.
+    if (!optional_param('confirm', '', PARAM_BOOL)) {
+        echo $OUTPUT->header();
+        echo $OUTPUT->heading(get_string('deletebehaviourareyousure', 'question', $behaviourname));
+        echo $OUTPUT->confirm(
+                get_string('deletebehaviourareyousuremessage', 'question', $behaviourname),
+                new moodle_url($thispageurl, array('delete' => $delete, 'confirm' => 1)),
+                $thispageurl);
+        echo $OUTPUT->footer();
+        exit;
+    }
+
+    // Do the deletion.
+    echo $OUTPUT->header();
+    echo $OUTPUT->heading(get_string('deletingbehaviour', 'question', $behaviourname));
+
+    // Delete any configuration records.
+    if (!unset_all_config_for_plugin('qbehaviour_' . $delete)) {
+        echo $OUTPUT->notification(get_string('errordeletingconfig', 'admin', 'qbehaviour_' . $delete));
+    }
+    if (($key = array_search($delete, $disabledbehaviours)) !== false) {
+        unset($disabledbehaviours[$key]);
+        set_config('disabledbehaviours', implode(',', $disabledbehaviours), 'question');
+    }
+    $behaviourorder = explode(',', $config->behavioursortorder);
+    if (($key = array_search($delete, $behaviourorder)) !== false) {
+        unset($behaviourorder[$key]);
+        set_config('behavioursortorder', implode(',', $behaviourorder), 'question');
+    }
+
+    // Then the tables themselves
+    drop_plugin_tables($delete, get_plugin_directory('qbehaviour', $delete) . '/db/install.xml', false);
+
+    // Remove event handlers and dequeue pending events
+    events_uninstall('qbehaviour_' . $delete);
+
+    $a->behaviour = $behaviourname;
+    $a->directory = get_plugin_directory('qbehaviour', $delete);
+    echo $OUTPUT->box(get_string('qbehaviourdeletefiles', 'question', $a), 'generalbox', 'notice');
+    echo $OUTPUT->continue_button($thispageurl);
+    echo $OUTPUT->footer();
+    exit;
+}
+
+// End of process actions ==================================================
+
+// Print the page heading.
+echo $OUTPUT->header();
+echo $OUTPUT->heading(get_string('manageqbehaviours', 'admin'));
+
+// Set up the table.
+$table = new flexible_table('qbehaviouradmintable');
+$table->define_baseurl($thispageurl);
+$table->define_columns(array('behaviour', 'numqas', 'version', 'requires',
+        'available', 'delete'));
+$table->define_headers(array(get_string('behaviour', 'question'), get_string('numqas', 'question'),
+        get_string('version'), get_string('requires', 'admin'),
+        get_string('availableq', 'question'), get_string('delete')));
+$table->set_attribute('id', 'qbehaviours');
+$table->set_attribute('class', 'generaltable generalbox boxaligncenter boxwidthwide');
+$table->setup();
+
+// Add a row for each question type.
+foreach ($sortedbehaviours as $behaviour => $behaviourname) {
+    $row = array();
+
+    // Question icon and name.
+    $row[] = $behaviourname;
+
+    // Count
+    $row[] = $counts[$behaviour];
+
+    // Question version number.
+    $version = get_config('qbehaviour_' . $behaviour, 'version');
+    if ($version) {
+        $row[] = $version;
+    } else {
+        $row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'disabled'));
+    }
+
+    // Other question types required by this one.
+    $requiredbehaviours = question_engine::get_behaviour_required_behaviours($behaviour);
+    if (!empty($requiredbehaviours)) {
+        $strrequiredbehaviours = array();
+        foreach ($requiredbehaviours as $required) {
+            $strrequiredbehaviours[] = $sortedbehaviours[$required];
+        }
+        $row[] = implode(', ', $strrequiredbehaviours);
+    } else {
+        $row[] = '';
+    }
+
+    // Are people allowed to create new questions of this type?
+    $rowclass = '';
+    if ($archetypal[$behaviour]) {
+        $enabled = array_search($behaviour, $disabledbehaviours) === false;
+        $icons = question_behaviour_enable_disable_icons($behaviour, $enabled);
+        if (!$enabled) {
+            $rowclass = 'dimmed_text';
+        }
+    } else {
+        $icons = $OUTPUT->spacer() . ' ';
+    }
+
+    // Move icons.
+    $icons .= question_behaviour_icon_html('up', $behaviour, 't/up', get_string('up'), null);
+    $icons .= question_behaviour_icon_html('down', $behaviour, 't/down', get_string('down'), null);
+    $row[] = $icons;
+
+    // Delete link, if available.
+    if ($needed[$behaviour]) {
+        $row[] = '';
+    } else {
+        $row[] = html_writer::link(new moodle_url($thispageurl,
+                array('delete' => $behaviour, 'sesskey' => sesskey())), get_string('delete'),
+                array('title' => get_string('uninstallbehaviour', 'question')));
+    }
+
+    $table->add_data($row, $rowclass);
+}
+
+$table->finish_output();
+
+echo $OUTPUT->footer();
+
+function question_behaviour_enable_disable_icons($behaviour, $enabled) {
+    if ($enabled) {
+        return question_behaviour_icon_html('disable', $behaviour, 'i/hide',
+                get_string('enabled', 'question'), get_string('disable'));
+    } else {
+        return question_behaviour_icon_html('enable', $behaviour, 'i/show',
+                get_string('disabled', 'question'), get_string('enable'));
+    }
+}
+
+function question_behaviour_icon_html($action, $behaviour, $icon, $alt, $tip) {
+    global $OUTPUT;
+    return $OUTPUT->action_icon(new moodle_url('/admin/qbehaviours.php',
+            array($action => $behaviour, 'sesskey' => sesskey())),
+            new pix_icon($icon, $alt, 'moodle', array('title' => '')),
+            null, array('title' => $tip)) . ' ';
+}
+
index bb0d177..a95de20 100644 (file)
@@ -37,6 +37,7 @@ require_capability('moodle/question:config', $systemcontext);
 $canviewreports = has_capability('report/questioninstances:view', $systemcontext);
 
 admin_externalpage_setup('manageqtypes');
+$thispageurl = new moodle_url('/admin/qtypes.php');
 
 $qtypes = question_bank::get_all_qtypes();
 
@@ -80,84 +81,84 @@ $sortedqtypes = question_bank::sort_qtype_array($sortedqtypes, $config);
 // Disable.
 if (($disable = optional_param('disable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
     if (!isset($qtypes[$disable])) {
-        print_error('unknownquestiontype', 'question', new moodle_url('/admin/qtypes.php'), $disable);
+        print_error('unknownquestiontype', 'question', $thispageurl, $disable);
     }
 
     set_config($disable . '_disabled', 1, 'question');
-    redirect(admin_url('qtypes.php'));
+    redirect($thispageurl);
 }
 
 // Enable.
 if (($enable = optional_param('enable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
     if (!isset($qtypes[$enable])) {
-        print_error('unknownquestiontype', 'question', new moodle_url('/admin/qtypes.php'), $enable);
+        print_error('unknownquestiontype', 'question', $thispageurl, $enable);
     }
 
     if (!$qtypes[$enable]->menu_name()) {
-        print_error('cannotenable', 'question', new moodle_url('/admin/qtypes.php'), $enable);
+        print_error('cannotenable', 'question', $thispageurl, $enable);
     }
 
     unset_config($enable . '_disabled', 'question');
-    redirect(new moodle_url('/admin/qtypes.php'));
+    redirect($thispageurl);
 }
 
 // Move up in order.
 if (($up = optional_param('up', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
     if (!isset($qtypes[$up])) {
-        print_error('unknownquestiontype', 'question', new moodle_url('/admin/qtypes.php'), $up);
+        print_error('unknownquestiontype', 'question', $thispageurl, $up);
     }
 
     $neworder = question_reorder_qtypes($sortedqtypes, $up, -1);
     question_save_qtype_order($neworder, $config);
-    redirect(new moodle_url('/admin/qtypes.php'));
+    redirect($thispageurl);
 }
 
 // Move down in order.
 if (($down = optional_param('down', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
     if (!isset($qtypes[$down])) {
-        print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $down);
+        print_error('unknownquestiontype', 'question', $thispageurl, $down);
     }
 
     $neworder = question_reorder_qtypes($sortedqtypes, $down, +1);
     question_save_qtype_order($neworder, $config);
-    redirect(new moodle_url('/admin/qtypes.php'));
+    redirect($thispageurl);
 }
 
 // Delete.
 if (($delete = optional_param('delete', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
     // Check it is OK to delete this question type.
     if ($delete == 'missingtype') {
-        print_error('cannotdeletemissingqtype', 'admin', new moodle_url('/admin/qtypes.php'));
+        print_error('cannotdeletemissingqtype', 'question', $thispageurl);
     }
 
     if (!isset($qtypes[$delete])) {
-        print_error('unknownquestiontype', 'question', new moodle_url('/admin/qtypes.php'), $delete);
+        print_error('unknownquestiontype', 'question', $thispageurl, $delete);
     }
 
     $qtypename = $qtypes[$delete]->local_name();
     if ($counts[$delete]->numquestions + $counts[$delete]->numhidden > 0) {
-        print_error('cannotdeleteqtypeinuse', 'admin', new moodle_url('/admin/qtypes.php'), $qtypename);
+        print_error('cannotdeleteqtypeinuse', 'question', $thispageurl, $qtypename);
     }
 
     if ($needed[$delete] > 0) {
-        print_error('cannotdeleteqtypeneeded', 'admin', new moodle_url('/admin/qtypes.php'), $qtypename);
+        print_error('cannotdeleteqtypeneeded', 'question', $thispageurl, $qtypename);
     }
 
     // If not yet confirmed, display a confirmation message.
     if (!optional_param('confirm', '', PARAM_BOOL)) {
         $qtypename = $qtypes[$delete]->local_name();
         echo $OUTPUT->header();
-        echo $OUTPUT->heading(get_string('deleteqtypeareyousure', 'admin', $qtypename));
-        echo $OUTPUT->confirm(get_string('deleteqtypeareyousuremessage', 'admin', $qtypename),
-                new moodle_url('/admin/qtypes.php', array('delete' => $delete, 'confirm' => 1)),
-                new moodle_url('/admin/qtypes.php'));
+        echo $OUTPUT->heading(get_string('deleteqtypeareyousure', 'question', $qtypename));
+        echo $OUTPUT->confirm(get_string('deleteqtypeareyousuremessage', 'question', $qtypename),
+                new moodle_url($thispageurl, array('delete' => $delete, 'confirm' => 1)),
+                $thispageurl);
         echo $OUTPUT->footer();
         exit;
     }
 
     // Do the deletion.
     echo $OUTPUT->header();
-    echo $OUTPUT->heading(get_string('deletingqtype', 'admin', $qtypename));
+    echo $OUTPUT->heading(get_string('deletingqtype', 'question', $qtypename));
 
     // Delete any configuration records.
     if (!unset_all_config_for_plugin('qtype_' . $delete)) {
@@ -170,12 +171,12 @@ if (($delete = optional_param('delete', '', PARAM_SAFEDIR)) && confirm_sesskey()
     drop_plugin_tables($delete, $qtypes[$delete]->plugin_dir() . '/db/install.xml', false);
 
     // Remove event handlers and dequeue pending events
-    events_uninstall('qtype/' . $delete);
+    events_uninstall('qtype_' . $delete);
 
     $a->qtype = $qtypename;
     $a->directory = $qtypes[$delete]->plugin_dir();
-    echo $OUTPUT->box(get_string('qtypedeletefiles', 'admin', $a), 'generalbox', 'notice');
-    echo $OUTPUT->continue_button(new moodle_url('/admin/qtypes.php'));
+    echo $OUTPUT->box(get_string('qtypedeletefiles', 'question', $a), 'generalbox', 'notice');
+    echo $OUTPUT->continue_button($thispageurl);
     echo $OUTPUT->footer();
     exit;
 }
@@ -188,10 +189,10 @@ echo $OUTPUT->heading(get_string('manageqtypes', 'admin'));
 
 // Set up the table.
 $table = new flexible_table('qtypeadmintable');
-$table->define_baseurl(new moodle_url('/admin/qtypes.php'));
+$table->define_baseurl($thispageurl);
 $table->define_columns(array('questiontype', 'numquestions', 'version', 'requires',
         'availableto', 'delete', 'settings'));
-$table->define_headers(array(get_string('questiontype', 'admin'), get_string('numquestions', 'admin'),
+$table->define_headers(array(get_string('questiontype', 'question'), get_string('numquestions', 'question'),
         get_string('version'), get_string('requires', 'admin'), get_string('availableq', 'question'),
         get_string('delete'), get_string('settings')));
 $table->set_attribute('id', 'qtypes');
@@ -213,13 +214,13 @@ foreach ($sortedqtypes as $qtypename => $localname) {
     // Number of questions of this type.
     if ($counts[$qtypename]->numquestions + $counts[$qtypename]->numhidden > 0) {
         if ($counts[$qtypename]->numhidden > 0) {
-            $strcount = get_string('numquestionsandhidden', 'admin', $counts[$qtypename]);
+            $strcount = get_string('numquestionsandhidden', 'question', $counts[$qtypename]);
         } else {
             $strcount = $counts[$qtypename]->numquestions;
         }
         if ($canviewreports) {
-            $row[] = '<a href="' . new moodle_url('/admin/report/questioninstances/index.php', array('qtype' => $qtypename)) .
-                    '" title="' . get_string('showdetails', 'admin') . '">' . $strcount . '</a>';
+            $row[] = html_writer::link(new moodle_url('/admin/report/questioninstances/index.php',
+                    array('qtype' => $qtypename)), $strcount, array('title' => get_string('showdetails', 'admin')));
         } else {
             $strcount;
         }
@@ -232,7 +233,7 @@ foreach ($sortedqtypes as $qtypename => $localname) {
     if ($version) {
         $row[] = $version;
     } else {
-        $row[] = '<span class="disabled">' . get_string('nodatabase', 'admin') . '</span>';
+        $row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'disabled'));
     }
 
     // Other question types required by this one.
@@ -251,36 +252,35 @@ foreach ($sortedqtypes as $qtypename => $localname) {
     $rowclass = '';
     if ($qtype->menu_name()) {
         $createable = isset($createabletypes[$qtypename]);
-        $icons = enable_disable_button($qtypename, $createable);
+        $icons = question_types_enable_disable_icons($qtypename, $createable);
         if (!$createable) {
             $rowclass = 'dimmed_text';
         }
     } else {
-        $icons = '<img src="' . $OUTPUT->pix_url('spacer') . '" alt="" class="spacer" />';
+        $icons = $OUTPUT->spacer() . ' ';
     }
 
     // Move icons.
-    $icons .= icon_html('up', $qtypename, 't/up', get_string('up'), '');
-    $icons .= icon_html('down', $qtypename, 't/down', get_string('down'), '');
+    $icons .= question_type_icon_html('up', $qtypename, 't/up', get_string('up'), '');
+    $icons .= question_type_icon_html('down', $qtypename, 't/down', get_string('down'), '');
     $row[] = $icons;
 
     // Delete link, if available.
     if ($needed[$qtypename]) {
         $row[] = '';
     } else {
-        $row[] = '<a href="' . new moodle_url('/admin/qtypes.php', array('delete' => $qtypename,
-                'sesskey' => sesskey())) . '" title="' .
-                get_string('uninstallqtype', 'admin') . '">' . get_string('delete') . '</a>';
+        $row[] = html_writer::link(new moodle_url($thispageurl,
+                array('delete' => $qtypename, 'sesskey' => sesskey())), get_string('delete'),
+                array('title' => get_string('uninstallqtype', 'question')));
     }
 
     // Settings link, if available.
     $settings = admin_get_root()->locate('qtypesetting' . $qtypename);
     if ($settings instanceof admin_externalpage) {
-        $row[] = '<a href="' . $settings->url .
-                '">' . get_string('settings') . '</a>';
+        $row[] = html_writer::link($settings->url, get_string('settings'));
     } else if ($settings instanceof admin_settingpage) {
-        $row[] = '<a href="' . new moodle_url('/admin/settings.php', array('section' => 'qtypesetting' . $qtypename)) .
-                '">' . get_string('settings') . '</a>';
+        $row[] = html_writer::link(new moodle_url('/admin/settings.php',
+                array('section' => 'qtypesetting' . $qtypename)), get_string('settings'));
     } else {
         $row[] = '';
     }
@@ -292,24 +292,21 @@ $table->finish_output();
 
 echo $OUTPUT->footer();
 
-function enable_disable_button($qtypename, $createable) {
+function question_types_enable_disable_icons($qtypename, $createable) {
     if ($createable) {
-        return icon_html('disable', $qtypename, 'i/hide', get_string('enabled', 'question'), get_string('disable'));
+        return question_type_icon_html('disable', $qtypename, 'i/hide',
+                get_string('enabled', 'question'), get_string('disable'));
     } else {
-        return icon_html('enable', $qtypename, 'i/show', get_string('disabled', 'question'), get_string('enable'));
+        return question_type_icon_html('enable', $qtypename, 'i/show',
+                get_string('disabled', 'question'), get_string('enable'));
     }
 }
 
-function icon_html($action, $qtypename, $icon, $alt, $tip) {
+function question_type_icon_html($action, $qtypename, $icon, $alt, $tip) {
     global $OUTPUT;
-    if ($tip) {
-        $tip = 'title="' . $tip . '" ';
-    }
-    $html = ' <form action="' . new moodle_url('/admin/qtypes.php') . '" method="post"><div>';
-    $html .= '<input type="hidden" name="sesskey" value="' . sesskey() . '" />';
-    $html .= '<input type="image" name="' . $action . '" value="' . $qtypename .
-            '" src="' . $OUTPUT->pix_url($icon) . '" alt="' . $alt . '" ' . $tip . '/>';
-    $html .= '</div></form>';
-    return $html;
+    return $OUTPUT->action_icon(new moodle_url('/admin/qtypes.php',
+            array($action => $qtypename, 'sesskey' => sesskey())),
+            new pix_icon($icon, $alt, 'moodle', array('title' => '')),
+            null, array('title' => $tip)) . ' ';
 }
 
index 3555039..cf1d555 100644 (file)
@@ -394,6 +394,10 @@ if ($hassiteconfig) {
 
 // Question type settings
 if ($hassiteconfig || has_capability('moodle/question:config', $systemcontext)) {
+    // Question behaviour settings.
+    $ADMIN->add('modules', new admin_category('qbehavioursettings', get_string('questionbehaviours', 'admin')));
+    $ADMIN->add('qbehavioursettings', new admin_page_manageqbehaviours());
+
     // Question type settings.
     $ADMIN->add('modules', new admin_category('qtypesettings', get_string('questiontypes', 'admin')));
     $ADMIN->add('qtypesettings', new admin_page_manageqtypes());
index 84d08c0..58925d1 100644 (file)
@@ -92,5 +92,3 @@ define('MOODLE_QUIZ_MULTIPLE_RESPONSE', 'multichoice');
 define('MOODLE_QUIZ_MACHT', 'match');
 define('MOODLE_QUIZ_ESSAY', 'essay');
 define('MOODLE_QUIZ_SHORTANSWER', 'shortanswer');
-
-?>
index 2904c9e..6178a04 100644 (file)
@@ -1,4 +1,3 @@
-
 <?php
 
 // This file is part of Moodle - http://moodle.org/
@@ -2514,6 +2513,8 @@ class restore_create_question_files extends restore_execution_step {
                                               $oldctxid, $this->task->get_userid(), 'question_created', $question->itemid, $newctxid, true);
             restore_dbops::send_files_to_pool($this->get_basepath(), $this->get_restoreid(), 'question', 'generalfeedback',
                                               $oldctxid, $this->task->get_userid(), 'question_created', $question->itemid, $newctxid, true);
+            restore_dbops::send_files_to_pool($this->get_basepath(), $this->get_restoreid(), 'question', 'answer',
+                                              $oldctxid, $this->task->get_userid(), 'question_answer', null, $newctxid, true);
             restore_dbops::send_files_to_pool($this->get_basepath(), $this->get_restoreid(), 'question', 'answerfeedback',
                                               $oldctxid, $this->task->get_userid(), 'question_answer', null, $newctxid, true);
             restore_dbops::send_files_to_pool($this->get_basepath(), $this->get_restoreid(), 'question', 'hint',
index 2e17bb9..ea07094 100644 (file)
@@ -76,7 +76,7 @@ abstract class backup_cron_automated_helper {
         } else if ($state === backup_cron_automated_helper::STATE_RUNNING) {
             mtrace('RUNNING');
             if ($rundirective == self::RUN_IMMEDIATELY) {
-                mtrace('automated backups are already. If this script is being run by cron this constitues an error. You will need to increase the time between executions within cron.');
+                mtrace('Automated backups are already running. If this script is being run by cron this constitues an error. You will need to increase the time between executions within cron.');
             } else {
                 mtrace("automated backup are already running. Execution delayed");
             }
@@ -401,10 +401,19 @@ abstract class backup_cron_automated_helper {
         if ($active === self::AUTO_BACKUP_DISABLED || ($rundirective == self::RUN_ON_SCHEDULE && $active === self::AUTO_BACKUP_MANUAL)) {
             return self::STATE_DISABLED;
         } else if (!empty($config->backup_auto_running)) {
-            // TODO: We should find some way of checking whether the automated
-            // backup has infact finished. In 1.9 this was being done by checking
-            // the log entries.
-            return self::STATE_RUNNING;
+            // Detect if the backup_auto_running semaphore is a valid one
+            // by looking for recent activity in the backup_controllers table
+            // for backups of type backup::MODE_AUTOMATED
+            $timetosee = 60 * 90; // Time to consider in order to clean the semaphore
+            $params = array( 'purpose'   => backup::MODE_AUTOMATED, 'timetolook' => (time() - $timetosee));
+            if ($DB->record_exists_select('backup_controllers',
+                "operation = 'backup' AND type = 'course' AND purpose = :purpose AND timemodified > :timetolook", $params)) {
+                return self::STATE_RUNNING; // Recent activity found, still running
+            } else {
+                // No recent activity found, let's clean the semaphore
+                mtrace('Automated backups activity not found in last ' . (int)$timetosee/60 . ' minutes. Cleaning running status');
+                backup_cron_automated_helper::set_state_running(false);
+            }
         }
         return self::STATE_OK;
     }
index 92fd12c..926a551 100644 (file)
@@ -1887,7 +1887,7 @@ class calendar_event {
             $context =  get_context_instance(CONTEXT_USER);
         } else if (isset($data->userid) && $data->userid > 0 && $data->userid != $USER->id &&
                    isset($data->instance) && $data->instance > 0) {
-            $cm = get_coursemodule_from_id('', $data->instance, 0, false, MUST_EXIST);
+            $cm = get_coursemodule_from_instance($data->modulename, $data->instance, 0, false, MUST_EXIST);
             $context =  get_context_instance(CONTEXT_COURSE, $cm->course);
         } else {
             $context =  get_context_instance(CONTEXT_USER);
diff --git a/install/lang/bg/error.php b/install/lang/bg/error.php
new file mode 100644 (file)
index 0000000..48cc0ed
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Automatically generated strings for Moodle 2.1 installer
+ *
+ * Do not edit this file manually! It contains just a subset of strings
+ * needed during the very first steps of installation. This file was
+ * generated automatically by export-installer.php (which is part of AMOS
+ * {@link http://docs.moodle.org/en/Development:Languages/AMOS}) using the
+ * list of strings defined in /install/stringnames.txt.
+ *
+ * @package   installer
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+$string['cannotcreatetempdir'] = 'Не може да създаде временна директория';
+$string['cannotfindcomponent'] = 'Не можа да намери компонент';
index 5f3fd04..2f53ff1 100644 (file)
@@ -30,3 +30,7 @@
 
 $string['availablelangs'] = 'Списък на наличните езици';
 $string['chooselanguagehead'] = 'Изберете език';
+$string['chooselanguagesub'] = 'Моля, изберете език за инсталацията. Този език ще бъде, също така, език по подразбиране на сайта, но може да бъде променен и по-късно след инсталирането.';
+$string['installation'] = 'Инсталиране';
+$string['paths'] = 'Пътища';
+$string['pathshead'] = 'Потвърждаване на пътищата';
index 4502005..905a183 100644 (file)
@@ -45,7 +45,7 @@ $string['environmentsub2'] = 'Jede Moodle-Version hat Mindestvoraussetzungen fü
 $string['errorsinenvironment'] = 'Fehler bei der Prüfung der Systemvoraussetzungen!';
 $string['installation'] = 'Installation';
 $string['langdownloaderror'] = 'Leider konnte das Sprachpaket "{$a}" nicht heruntergeladen werden. Die Installation wird in englischer Sprache fortgesetzt.';
-$string['memorylimithelp'] = '<p>Die PHP-Einstellung memory_limit für Ihren Server ist zur Zeit auf {$a} eingestellt. </p>
+$string['memorylimithelp'] = '<p>Die PHP-Einstellung memory_limit Ihres Servers ist zur Zeit auf {$a} eingestellt. </p>
 <p>Wenn Sie Moodle mit vielen Aktivitäten oder vielen Nutzer/innen verwenden, wird dies vermutlich zu Problemen führen.</p>
 <p>Wir empfehlen die Einstellung wenn möglich zu erhöhen, z.B. auf 40M oder mehr. Dies können Sie auf verschiedene Arten machen:</p>
 <ol>
@@ -79,6 +79,6 @@ $string['welcomep30'] = 'Diese Version von <strong>{$a->installername}</strong>
 $string['welcomep40'] = 'Das Paket enthält: <strong>Moodle {$a->moodlerelease} ({$a->moodleversion})</strong>.';
 $string['welcomep50'] = 'Die Nutzung dieser Anwendungen ist lizenzrechtlich geprüft. Alle Anwendungen von <strong>{$a->installername}</strong> sind
 <a href="http://www.opensource.org/docs/definition_plain.html"> Open Source </a> und unterliegen der <a href="http://www.gnu.org/copyleft/gpl.html"> GPL</a> Lizenz.';
-$string['welcomep60'] = 'Die folgenden Seiten führen Sie in einfachen Schritten durch die Konfiguration und Installation von <strong>Moodle</strong> auf Ihrem Computer. Sie können die vorgeschlagenen Einstellungen übernehmen oder an Ihre Bedürfnisse anpassen.';
+$string['welcomep60'] = 'Die folgenden Webseiten führen Sie in einfachen Schritten durch die Konfiguration und Installation von <strong>Moodle</strong> auf Ihrem Computer. Sie können die vorgeschlagenen Einstellungen übernehmen oder an Ihre Bedürfnisse anpassen.';
 $string['welcomep70'] = 'Klicken Sie auf die Taste \'Weiter\', um mit der Installation von Moodle fortzufahren.';
 $string['wwwroot'] = 'Webadresse';
index 60372b7..9660017 100644 (file)
@@ -48,21 +48,21 @@ $string['installation'] = 'Installation';
 $string['langdownloaderror'] = 'Unfortunately the language "{$a}" could not be downloaded. The installation process will continue in English.';
 $string['memorylimithelp'] = '<p>The PHP memory limit for your server is currently set to {$a}.</p>
 
-<p>This may cause Moodle to have memory problems later on, especially 
+<p>This may cause Moodle to have memory problems later on, especially
    if you have a lot of modules enabled and/or a lot of users.</p>
 
-<p>We recommend that you configure PHP with a higher limit if possible, like 40M.  
+<p>We recommend that you configure PHP with a higher limit if possible, like 40M.
    There are several ways of doing this that you can try:</p>
 <ol>
-<li>If you are able to, recompile PHP with <i>--enable-memory-limit</i>.  
+<li>If you are able to, recompile PHP with <i>--enable-memory-limit</i>.
     This will allow Moodle to set the memory limit itself.</li>
-<li>If you have access to your php.ini file, you can change the <b>memory_limit</b> 
-    setting in there to something like 40M.  If you don\'t have access you might 
+<li>If you have access to your php.ini file, you can change the <b>memory_limit</b>
+    setting in there to something like 40M.  If you don\'t have access you might
     be able to ask your administrator to do this for you.</li>
-<li>On some PHP servers you can create a .htaccess file in the Moodle directory 
+<li>On some PHP servers you can create a .htaccess file in the Moodle directory
     containing this line:
     <blockquote><div>php_value memory_limit 40M</div></blockquote>
-    <p>However, on some servers this will prevent <b>all</b> PHP pages from working 
+    <p>However, on some servers this will prevent <b>all</b> PHP pages from working
     (you will see errors when you look at pages) so you\'ll have to remove the .htaccess file.</p></li>
 </ol>';
 $string['paths'] = 'Paths';
@@ -90,17 +90,17 @@ $string['phpversionhelp'] = '<p>Moodle requires a PHP version of at least 4.3.0
 <p>You must upgrade PHP or move to a host with a newer version of PHP!<br />
 (In case of 5.0.x you could also downgrade to 4.4.x version)</p>';
 $string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
-$string['welcomep20'] = 'You are seeing this page because you have successfully installed and 
+$string['welcomep20'] = 'You are seeing this page because you have successfully installed and
     launched the <strong>{$a->packname} {$a->packversion}</strong> package in your computer. Congratulations!';
-$string['welcomep30'] = 'This release of the <strong>{$a->installername}</strong> includes the applications 
+$string['welcomep30'] = 'This release of the <strong>{$a->installername}</strong> includes the applications
     to create an environment in which <strong>Moodle</strong> will operate, namely:';
 $string['welcomep40'] = 'The package also includes <strong>Moodle {$a->moodlerelease} ({$a->moodleversion})</strong>.';
-$string['welcomep50'] = 'The use of all the applications in this package is governed by their respective 
-    licences. The complete <strong>{$a->installername}</strong> package is 
-    <a href="http://www.opensource.org/docs/definition_plain.html">open source</a> and is distributed 
+$string['welcomep50'] = 'The use of all the applications in this package is governed by their respective
+    licences. The complete <strong>{$a->installername}</strong> package is
+    <a href="http://www.opensource.org/docs/definition_plain.html">open source</a> and is distributed
     under the <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> license.';
-$string['welcomep60'] = 'The following pages will lead you through some easy to follow steps to 
-    configure and set up <strong>Moodle</strong> on your computer. You may accept the default 
+$string['welcomep60'] = 'The following pages will lead you through some easy to follow steps to
+    configure and set up <strong>Moodle</strong> on your computer. You may accept the default
     settings or, optionally, amend them to suit your own needs.';
 $string['welcomep70'] = 'Click the "Next" button below to continue with the set up of <strong>Moodle</strong>.';
 $string['wwwroot'] = 'Web address';
index caf006b..d3e5745 100644 (file)
@@ -46,16 +46,18 @@ $string['errorsinenvironment'] = 'Ci sono problemi nel vostro ambiente';
 $string['installation'] = 'Installazione';
 $string['langdownloaderror'] = 'Purtroppo non è stato possibile scaricare la lingua "{$a}". L\'installazione proseguirà in lingua Inglese.';
 $string['memorylimithelp'] = '<p>Il limite della memoria assegnata al PHP attualmente è {$a}.</p>
+
 <p>Questo limite potrà causare problemi nel funzionamento di Moodle, specialmente se usate molti moduli di attività con molti utenti.</p>
-<p>Vi raccomandiamo di impostare il PHP con un limite più alto se possibile, ad esempio 40M.
-Ci sono diversi modi che potete provare:
+
+<p>Ti raccomandiamo di impostare il PHP con un limite più alto se possibile, ad esempio 40M.
+Ci sono diversi modi che puoi provare:
 <ol>
-<li>Se possibile, ricompilate il PHP con l\'opzione <i>--enable-memory-limit</i>.
+<li>Se possibile, ricompila il PHP con l\'opzione <i>--enable-memory-limit</i>.
 Questo permetterà  a Moodle di impostare il limite di memoria da solo.</li>
-<li>Se avete accesso al file php.ini, è possibile modificare la variabile <b>memory_limit</b> a un valore più alto, ad esempio 40M. Se non avete accesso, potete chiedere al vostro amministratore di sistema di farlo.</li>
-<li>Su alcuni server PHP è possibile creare un file .htaccess nella Cartella di Moodle che contenga questa linea:
+<li>Se hai accesso al file php.ini, è possibile modificare la variabile <b>memory_limit</b> a un valore più alto, ad esempio 40M. Se non hai accesso, potete chiedere al vostro amministratore di sistema di farlo.</li>
+<li>Su alcuni server con il PHP è possibile creare un file .htaccess nella cartella di Moodle contenente questa linea:
 <blockquote>php_value memory_limit 40M</blockquote>
-<p>Tuttavia, su alcuni server questo impedirà  a <b>tutte</b> le pagine PHP di funzionare (vedrete degli errori quando visualizzerete le pagine) cosi dovrete rimuovere il file .htaccess.</li></ol>';
+<p>Tuttavia, su alcuni server la direttiva potrebbe impedire  a <b>tutte</b> le pagine PHP di funzionare (apapriranno degli erorri durante la visualizzazione delle pagine), in tal caso dovrai rimuovere il file .htaccess.</li></ol>';
 $string['paths'] = 'Percorsi';
 $string['pathserrcreatedataroot'] = 'Lo script di installazione non ha potuto creare la Cartella dei dati ({$a->dataroot}).';
 $string['pathshead'] = 'Conferma percorsi';
@@ -77,10 +79,10 @@ $string['phpversionhelp'] = '<p>Moodle necessita come minimo della versione 4.3.
 <p>Dovete aggiornare la versione del PHP oppure spostarsi su un host che abbia una versione più aggiornata del PHP!<br>
 (Se avete la 5.0.x, potete fare il downgrade alla versione 4.4.x)</p>';
 $string['welcomep10'] = '{$a->installername} ({$a->installerversion})';
-$string['welcomep20'] = 'Se vedete questa pagina avete installato correttamente e lanciato il pacchetto <strong>{$a->packname} {$a->packversion}</strong>. Complimenti!';
-$string['welcomep30'] = 'La release di <strong>{$a->installername}</strong> include un applicazione per creare l\'ambiente dive girerà <strong>Moodle</strong>:';
+$string['welcomep20'] = 'Se vedi questa pagina hai installato correttamente e lanciato il pacchetto <strong>{$a->packname} {$a->packversion}</strong>. Complimenti!';
+$string['welcomep30'] = 'La release di <strong>{$a->installername}</strong> include l\'applicazione per creare l\'ambiente necessario a far girare <strong>Moodle</strong>:';
 $string['welcomep40'] = 'Il pacchetto include anche <strong>Moodle {$a->moodlerelease} ({$a->moodleversion})</strong>.';
 $string['welcomep50'] = 'L\'utilizzo delle applicazioni incluse in questo pacchetto è regolato dalle rispettive licenze. L\'intero pacchetto <strong>{$a->installername}</strong> è <a href="http://www.opensource.org/docs/definition_plain.html">open source</a> ed è distribuito in accordo alla licenza <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a>.';
-$string['welcomep60'] = 'Le prossime pagine vi guideranno attraverso semplici passi per installare e configurare <strong>Moodle</strong> nel vostro computer. Potete utilizzare le impostazioni di default oppure modificarle per adeguarle alle vostre esigenze.';
+$string['welcomep60'] = 'Le prossime pagine ti guideranno attraverso semplici passi per installare e configurare <strong>Moodle</strong> nel tuo computer. Puoi utilizzare le impostazioni di default oppure modificarle per adeguarle alle tue esigenze.';
 $string['welcomep70'] = 'Fate click sul pulsante "Avanti" per continuare l\'installazione di <strong>Moodle</strong>.';
 $string['wwwroot'] = 'Indirizzo web';
index 0a3a438..46d9ad6 100644 (file)
@@ -38,5 +38,5 @@ $string['cliunknowoption'] = '错误选项:
 {$a}
 请使用 --help 选项。';
 $string['cliyesnoprompt'] = '输入y(表示是)或n(表示否)';
-$string['environmentrequireinstall'] = 'å¿\85é\9c\80安装并启用';
+$string['environmentrequireinstall'] = 'å¿\85é¡»安装并启用';
 $string['environmentrequireversion'] = '需要 {$a->needed} 版本,而您的是 {$a->current}';
index 2ebef26..a120e93 100644 (file)
@@ -29,6 +29,6 @@
  */
 
 $string['language'] = '语言';
-$string['next'] = '向后';
+$string['next'] = '下一步';
 $string['previous'] = '向前';
 $string['reload'] = '重新载入';
index e219863..51f5a19 100644 (file)
@@ -92,10 +92,7 @@ $string['cachetype'] = 'Cache type';
 $string['calendarexportsalt'] = 'Calendar export salt';
 $string['calendarsettings'] = 'Calendar';
 $string['calendar_weekend'] = 'Weekend days';
-$string['cannotdeletemissingqtype'] = 'You cannot delete the missing question type. It is needed by the system.';
 $string['cannotdeletemodfilter'] = 'You cannot uninstall the \'{$a->filter}\' because it is part of the \'{$a->module}\' module.';
-$string['cannotdeleteqtypeinuse'] = 'You cannot delete the question type \'{$a}\'. There are questions of this type in the question bank.';
-$string['cannotdeleteqtypeneeded'] = 'You cannot delete the question type \'{$a}\'. There are other question types installed that rely on it.';
 $string['cfgwwwrootslashwarning'] = 'You have defined $CFG->wwwroot incorrectly in your config.php file. You have included a \'/\' character at the end. Please remove it, or you will experience strange bugs like <a href=\'http://tracker.moodle.org/browse/MDL-11061\'>MDL-11061</a>.';
 $string['cfgwwwrootwarning'] = 'You have defined $CFG->wwwroot incorrectly in your config.php file. It does not match the URL you are using to access this page. Please correct it, or you will experience strange bugs like <a href=\'http://tracker.moodle.org/browse/MDL-11061\'>MDL-11061</a>.';
 $string['clamfailureonupload'] = 'On clam AV failure';
@@ -429,12 +426,9 @@ $string['deletefilterareyousure'] = 'Are you sure you want to delete the filter
 $string['deletefilterareyousuremessage'] = 'You are about to completely delete the filter \'{$a}\'. Are you sure you want to uninstall it?';
 $string['deletefilterfiles'] = 'All data associated with the filter \'{$a->filter}\' has been deleted from the database. To complete the deletion (and to prevent the filter from re-installing itself), you should now delete this directory from your server: {$a->directory}';
 $string['deleteincompleteusers'] = 'Delete incomplete users after';
-$string['deleteqtypeareyousure'] = 'Are you sure you want to delete the question type \'{$a}\'';
-$string['deleteqtypeareyousuremessage'] = 'You are about to completely delete the question type \'{$a}\'. Are you sure you want to uninstall it?';
 $string['deleteunconfirmed'] = 'Delete not fully setup users after';
 $string['deleteuser'] = 'Delete user';
 $string['deletingfilter'] = 'Deleting filter \'{$a}\'';
-$string['deletingqtype'] = 'Deleting question type \'{$a}\'';
 $string['density'] = 'Density';
 $string['denyemailaddresses'] = 'Denied email domains';
 $string['development'] = 'Development';
@@ -668,6 +662,7 @@ $string['maintfileopenerror'] = 'Error opening maintenance files!';
 $string['maintinprogress'] = 'Maintenance is in progress...';
 $string['managelang'] = 'Manage';
 $string['managelicenses'] = 'Manage licences';
+$string['manageqbehaviours'] = 'Manage question behaviours';
 $string['manageqtypes'] = 'Manage question types';
 $string['maturity50'] = 'Alpha';
 $string['maturity100'] = 'Beta';
@@ -752,8 +747,6 @@ $string['notifyloginthreshold'] = 'Threshold for email notifications';
 $string['notloggedinroleid'] = 'Role for visitors';
 $string['numberofmissingstrings'] = 'Number of missing strings: {$a}';
 $string['numberofstrings'] = 'Total number of strings: {$a->strings}<br />Missing: {$a->missing} ({$a->missingpercent}&nbsp;%)';
-$string['numquestions'] = 'No. questions';
-$string['numquestionsandhidden'] = '{$a->numquestions} (+{$a->numhidden} hidden)';
 $string['numcoursesincombo'] = 'Maximum number of courses in combo list';
 $string['numcoursesincombo_help'] = 'The combo list doesn\'t work well with large numbers of courses. When the total number of courses in the site is higher than this setting then a link to the dedicated course listing will be shown instead of trying to display all the courses on the front page.';
 $string['opensslrecommended'] = 'Installing the optional OpenSSL library is highly recommended -- it enables Moodle Networking functionality.';
@@ -866,11 +859,11 @@ $string['proxypassword'] = 'Proxy password';
 $string['proxyport'] = 'Proxy port';
 $string['proxytype'] = 'Proxy type';
 $string['proxyuser'] = 'Proxy username';
-$string['qtypedeletefiles'] = 'All data associated with the question type \'{$a->qtype}\' has been deleted from the database. To complete the deletion (and to prevent the question type from re-installing itself), you should now delete this directory from your server: {$a->directory}';
 $string['qtyperqpwillberemoved'] = 'During the upgrade, the RQP question type will be removed. You were not using this question type, so you should not experience any problems.';
 $string['qtyperqpwillberemovedanyway'] = 'During the upgrade, the RQP question type will be removed. You have some RQP questions in your database, and these will stop working unless you reinstall the code from http://moodle.org/mod/data/view.php?d=13&amp;rid=797 before continuing with the upgrade.';
 $string['quarantinedir'] = 'Quarantine directory';
 $string['question'] = 'Question';
+$string['questionbehaviours'] = 'Question behaviours';
 $string['questioncwqpfscheck'] = 'One or more \'random\' questions in a quiz are set up to select questions from a mixture of shared and unshared question categories. There is a more detailed report <a href="{$a->reporturl}">here</a> and see Moodle Docs page <a href="{$a->docsurl}">here</a>.';
 $string['questioncwqpfsok'] = 'Good. There are no \'random\' questions in your quizzes that are set up to select questions from a mixture of shared and unshared question categories.';
 $string['questiontype'] = 'Question type';
@@ -995,7 +988,6 @@ $string['unicodeupgradenotice'] = 'In Moodle 1.6 we have migrated all languages
 $string['uninstall'] = 'Uninstall selected language pack';
 $string['uninstallconfirm'] = 'You are about to completely uninstall language pack {$a}, are you sure?';
 $string['uninstallplugin'] = 'Uninstall';
-$string['uninstallqtype'] = 'Uninstall this question type.';
 $string['unsupported'] = 'Unsupported';
 $string['updateaccounts'] = 'Update existing accounts';
 $string['updatecomponent'] = 'Update component';
index 4b64839..13e17ec 100644 (file)
@@ -27,13 +27,21 @@ $string['addcategory'] = 'Add category';
 $string['adminreport'] = 'Report on possible problems in your question database.';
 $string['availableq'] = 'Available?';
 $string['badbase'] = 'Bad base before **: {$a}**';
+$string['behaviour'] = 'Behaviour';
 $string['broken'] = 'This is a "broken link", it points to a nonexistent file.';
 $string['byandon'] = 'by <em>{$a->user}</em> on <em>{$a->time}</em>';
 $string['cannotcopybackup'] = 'Could not copy backup file';
 $string['cannotcreate'] = 'Could not create new entry in question_attempts table';
 $string['cannotcreatepath'] = 'Cannot create path: {$a}';
+$string['cannotdeletebehaviourinuse'] = 'You cannot delete the behaviour \'{$a}\'. It is used by question attempts.';
 $string['cannotdeletecate'] = 'You can\'t delete that category it is the default category for this context.';
+$string['cannotdeletemissingbehaviour'] = 'You cannot uninstall the missing behaviour. It is required by the system.';
+$string['cannotdeletemissingqtype'] = 'You cannot uninstall the missing question type. It is needed by the system.';
+$string['cannotdeleteneededbehaviour'] = 'Cannot delete the question behaviour \'{$a}\'. There are other behaviours installed that rely on it.';
+$string['cannotdeleteqtypeinuse'] = 'You cannot delete the question type \'{$a}\'. There are questions of this type in the question bank.';
+$string['cannotdeleteqtypeneeded'] = 'You cannot delete the question type \'{$a}\'. There are other question types installed that rely on it.';
 $string['cannotenable'] = 'Question type {$a} cannot be created directly.';
+$string['cannotenablebehaviour'] = 'Question behaviour {$a} cannot be used directly. It is for internal use only.';
 $string['cannotfindcate'] = 'Could not find category record';
 $string['cannotfindquestionfile'] = 'Could not find question data file in zip';
 $string['cannotgetdsfordependent'] = 'Cannot get the specified dataset for a dataset dependent question! (question: {$a->id}, datasetitem: {$a->item})';
@@ -54,6 +62,7 @@ $string['categorycurrent'] = 'Current category';
 $string['categorycurrentuse'] = 'Use this category';
 $string['categorydoesnotexist'] = 'This category does not exist';
 $string['categoryinfo'] = 'Category info';
+$string['categorymove'] = 'The category \'{$a->name}\' contains {$a->count} questions (some of them may be old, hidden, questions that are still in use in some existing quizzes). Please choose another category to move them to.';
 $string['categorymoveto'] = 'Save in category';
 $string['categorynamecantbeblank'] = 'The category name cannot be blank.';
 $string['clicktoflag'] = 'Click to flag this question';
@@ -78,9 +87,15 @@ affected will continue to work in all existing quizzes until you remove them fro
 $string['cwrqpfsnoprob'] = 'No question categories in your site are affected by the \'Random questions selecting questions from sub categories\' issue.';
 $string['defaultfor'] = 'Default for {$a}';
 $string['defaultinfofor'] = 'The default category for questions shared in context \'{$a}\'.';
+$string['deletebehaviourareyousure'] = 'Delete behaviour {$a}: are you sure?';
+$string['deletebehaviourareyousuremessage'] = 'You are about to completely delete the question behaviour {$a}. This will completely delete everything in the database associated with this question behaviour. Are you SURE you want to continue?';
 $string['deletecoursecategorywithquestions'] = 'There are questions in the question bank associated with this course category. If you proceed, they will be deleted. You may wish to move them first, using the question bank interface.';
+$string['deleteqtypeareyousure'] = 'Delete question type {$a}: are you sure?';
+$string['deleteqtypeareyousuremessage'] = 'You are about to completely delete the question type {$a}. This will completely delete everything in the database associated with this question type. Are you SURE you want to continue?';
 $string['deletequestioncheck'] = 'Are you absolutely sure you want to delete \'{$a}\'?';
 $string['deletequestionscheck'] = 'Are you absolutely sure you want to delete the following questions?<br /><br />{$a}';
+$string['deletingbehaviour'] = 'Deleting question behaviour \'{$a}\'';
+$string['deletingqtype'] = 'Deleting question type \'{$a}\'';
 $string['disabled'] = 'Disabled';
 $string['disterror'] = 'The distribution {$a} caused problems';
 $string['donothing'] = 'Don\'t copy or move files or change links.';
@@ -99,6 +114,7 @@ $string['editcategories_link'] = 'question/category';
 $string['editcategory'] = 'Edit category';
 $string['editingcategory'] = 'Editing a category';
 $string['editingquestion'] = 'Editing a question';
+$string['editquestion'] = 'Edit question';
 $string['editthiscategory'] = 'Edit this category';
 $string['emptyxml'] = 'Unkown error - empty imsmanifest.xml';
 $string['enabled'] = 'Enabled';
@@ -205,6 +221,9 @@ $string['notenoughdatatoeditaquestion'] = 'Neither a question id, nor a category
 $string['notenoughdatatomovequestions'] = 'You need to provide the question ids of questions you want to move.';
 $string['notflagged'] = 'Not flagged';
 $string['novirtualquestiontype'] = 'No virtual question type for question type {$a}';
+$string['numqas'] = 'No. question attempts';
+$string['numquestions'] = 'No. questions';
+$string['numquestionsandhidden'] = '{$a->numquestions} (+{$a->numhidden} hidden)';
 $string['page-question-x'] = 'Any question page';
 $string['page-question-edit'] = 'Question editing page';
 $string['page-question-category'] = 'Question category page';
@@ -225,6 +244,8 @@ $string['permissionmove'] = 'Move this question';
 $string['permissionsaveasnew'] = 'Save this as a new question';
 $string['permissionto'] = 'You have permission to :';
 $string['published'] = 'shared';
+$string['qbehaviourdeletefiles'] = 'All data associated with the question behaviour \'{$a->behaviour}\' has been deleted from the database. To complete the deletion (and to prevent the behaviour from re-installing itself), you should now delete this directory from your server: {$a->directory}';
+$string['qtypedeletefiles'] = 'All data associated with the question type \'{$a->qtype}\' has been deleted from the database. To complete the deletion (and to prevent the question type from re-installing itself), you should now delete this directory from your server: {$a->directory}';
 $string['qtypeveryshort'] = 'T';
 $string['questionaffected'] = '<a href="{$a->qurl}">Question "{$a->name}" ({$a->qtype})</a> is in this question category but is also being used in <a href="{$a->qurl}">quiz "{$a->quizname}"</a> in another course "{$a->coursename}".';
 $string['questionbank'] = 'Question bank';
@@ -251,6 +272,8 @@ $string['stoponerror'] = 'Stop on error';
 $string['stoponerror_help'] = 'This setting determines whether the import process stops when an error is detected, resulting in no questions being imported, or whether any questions containing errors are ignored and any valid questions are imported.';
 $string['tofilecategory'] = 'Write category to file';
 $string['tofilecontext'] = 'Write context to file';
+$string['uninstallbehaviour'] = 'Uninstall this question behaviour.';
+$string['uninstallqtype'] = 'Uninstall this question type.';
 $string['unknown'] = 'Unknown';
 $string['unknownquestiontype'] = 'Unknown question type: {$a}.';
 $string['unknowntolerance'] = 'Unknown tolerance type {$a}';
@@ -368,8 +391,10 @@ $string['submissionoutofsequencefriendlymessage'] = "You have entered data outsi
 $string['submit'] = 'Submit';
 $string['submitandfinish'] = 'Submit and finish';
 $string['submitted'] = 'Submit: {$a}';
+$string['unknownbehaviour'] = 'Unknown behaviour: {$a}.';
 $string['unknownquestion'] = 'Unknown question: {$a}.';
 $string['unknownquestioncatregory'] = 'Unknown question category: {$a}.';
+$string['unknownquestiontype'] = 'Unknown question type: {$a}.';
 $string['whethercorrect'] = 'Whether correct';
 $string['withselected'] = 'With selected';
 $string['xoutofmax'] = '{$a->mark} out of {$a->max}';
index f69425b..da83c56 100644 (file)
@@ -5017,6 +5017,57 @@ class admin_page_defaultmessageoutputs extends admin_page_managemessageoutputs {
     }
 }
 
+
+/**
+ * Manage question behaviours page
+ *
+ * @copyright  2011 The Open University
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class admin_page_manageqbehaviours extends admin_externalpage {
+    /**
+     * Constructor
+     */
+    public function __construct() {
+        global $CFG;
+        parent::__construct('manageqbehaviours', get_string('manageqbehaviours', 'admin'),
+                new moodle_url('/admin/qbehaviours.php'));
+    }
+
+    /**
+     * Search question behaviours for the specified string
+     *
+     * @param string $query The string to search for in question behaviours
+     * @return array
+     */
+    public function search($query) {
+        global $CFG;
+        if ($result = parent::search($query)) {
+            return $result;
+        }
+
+        $found = false;
+        $textlib = textlib_get_instance();
+        require_once($CFG->dirroot . '/question/engine/lib.php');
+        foreach (get_plugin_list('qbehaviour') as $behaviour => $notused) {
+            if (strpos($textlib->strtolower(question_engine::get_behaviour_name($behaviour)),
+                    $query) !== false) {
+                $found = true;
+                break;
+            }
+        }
+        if ($found) {
+            $result = new stdClass();
+            $result->page     = $this;
+            $result->settings = array();
+            return array($this->name => $result);
+        } else {
+            return array();
+        }
+    }
+}
+
+
 /**
  * Question type manage page
  *
index 98800d6..05d99f8 100644 (file)
         <FIELD NAME="questionid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" COMMENT="The id of the question being attempted. Foreign key references question.id." PREVIOUS="behaviour" NEXT="variant"/>
         <FIELD NAME="variant" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" DEFAULT="1" COMMENT="The variant of the qusetion being used." PREVIOUS="questionid" NEXT="maxmark"/>
         <FIELD NAME="maxmark" TYPE="number" LENGTH="12" NOTNULL="true" UNSIGNED="false" SEQUENCE="false" DECIMALS="7" COMMENT="The grade this question is marked out of in this attempt." PREVIOUS="variant" NEXT="minfraction"/>
-        <FIELD NAME="minfraction" TYPE="number" LENGTH="12" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" DECIMALS="7" COMMENT="Some questions can award negative marks. This indicates the most negative mark that can be awarded, on the faction scale where the maximum positive mark is 1." PREVIOUS="maxmark" NEXT="flagged"/>
+        <FIELD NAME="minfraction" TYPE="number" LENGTH="12" NOTNULL="true" UNSIGNED="false" SEQUENCE="false" DECIMALS="7" COMMENT="Some questions can award negative marks. This indicates the most negative mark that can be awarded, on the faction scale where the maximum positive mark is 1." PREVIOUS="maxmark" NEXT="flagged"/>
         <FIELD NAME="flagged" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" COMMENT="Whether this question has been flagged within the attempt." PREVIOUS="minfraction" NEXT="questionsummary"/>
         <FIELD NAME="questionsummary" TYPE="text" LENGTH="small" NOTNULL="false" SEQUENCE="false" COMMENT="If this question uses randomisation, it should set this field to summarise what random version the student actually saw. This is a human-readable textual summary of the student's response which might, for example, be used in a report." PREVIOUS="flagged" NEXT="rightanswer"/>
         <FIELD NAME="rightanswer" TYPE="text" LENGTH="small" NOTNULL="false" SEQUENCE="false" COMMENT="This is a human-readable textual summary of the right answer to this question. Might be used, for example on the quiz preview, to help people who are testing the question. Or might be used in reports." PREVIOUS="questionsummary" NEXT="responsesummary"/>
index 37cb7c1..53c1309 100644 (file)
@@ -129,6 +129,15 @@ $functions = array(
         'capabilities'=> 'moodle/user:viewdetails, moodle/user:viewhiddendetails, moodle/course:useremail, moodle/user:update',
     ),
 
+    'moodle_user_get_course_participants_by_id' => array(
+        'classname'   => 'moodle_user_external',
+        'methodname'  => 'get_course_participants_by_id',
+        'classpath'   => 'user/externallib.php',
+        'description' => 'Get course user profiles by id.',
+        'type'        => 'read',
+        'capabilities'=> 'moodle/user:viewdetails, moodle/user:viewhiddendetails, moodle/course:useremail, moodle/user:update, moodle/site:accessallgroups',
+    ),
+
     'moodle_user_delete_users' => array(
         'classname'   => 'moodle_user_external',
         'methodname'  => 'delete_users',
@@ -248,6 +257,7 @@ $services = array(
             'moodle_user_get_users_by_id',
             'moodle_webservice_get_siteinfo',
             'moodle_notes_create_notes',
+            'moodle_user_get_course_participants_by_id',
             'moodle_message_send_messages'),
         'enabled' => 0,
         'restrictedusers' => 0,
index 9f68acd..a8bd913 100644 (file)
@@ -6545,6 +6545,19 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL");
         upgrade_main_savepoint(true, 2011060800.01);
     }
 
+    if ($oldversion < 2011062000.01) {
+        // Changing sign of field minfraction on table question_attempts to signed
+        $table = new xmldb_table('question_attempts');
+        $field = new xmldb_field('minfraction', XMLDB_TYPE_NUMBER, '12, 7', null,
+                XMLDB_NOTNULL, null, null, 'maxmark');
+
+        // Launch change of sign for field minfraction
+        $dbman->change_field_unsigned($table, $field);
+
+        // Main savepoint reached
+        upgrade_main_savepoint(true, 2011062000.01);
+    }
+
     return true;
 }
 
index b1e65d8..d525a4b 100644 (file)
@@ -121,6 +121,8 @@ abstract class moodle_database {
 
     /** @var int internal temporary variable */
     private $fix_sql_params_i;
+    /** @var int internal temporary variable used by {@link get_in_or_equal()}. */
+    private $inorequaluniqueindex = 1; // guarantees unique parameters in each request
 
     /**
      * Constructor - instantiates the database, specifying if it's external (connect to other systems) or no (Moodle DB)
@@ -574,7 +576,6 @@ abstract class moodle_database {
      * @return array - $sql and $params
      */
     public function get_in_or_equal($items, $type=SQL_PARAMS_QM, $prefix='param', $equal=true, $onemptyitems=false) {
-        static $counter = 1; // guarantees unique parameters in each request
 
         // default behavior, throw exception on empty array
         if (is_array($items) and empty($items) and $onemptyitems === false) {
@@ -610,11 +611,11 @@ abstract class moodle_database {
             }
 
             if (!is_array($items)){
-                $param = $prefix.$counter++;
+                $param = $prefix.$this->inorequaluniqueindex++;
                 $sql = $equal ? "= :$param" : "<> :$param";
                 $params = array($param=>$items);
             } else if (count($items) == 1) {
-                $param = $prefix.$counter++;
+                $param = $prefix.$this->inorequaluniqueindex++;
                 $sql = $equal ? "= :$param" : "<> :$param";
                 $item = reset($items);
                 $params = array($param=>$item);
@@ -622,7 +623,7 @@ abstract class moodle_database {
                 $params = array();
                 $sql = array();
                 foreach ($items as $item) {
-                    $param = $prefix.$counter++;
+                    $param = $prefix.$this->inorequaluniqueindex++;
                     $params[$param] = $item;
                     $sql[] = ':'.$param;
                 }
index 978c333..484ed6b 100644 (file)
@@ -32,8 +32,8 @@ $string['dragmath:dragmath_desc'] = 'Insert equation';
 $string['dragmath:dragmath_javaneeded'] = 'To use this page you need a Java-enabled browser. Download the latest Java plug-in from {$a}.';
 $string['dragmath:dragmath_title'] = 'DragMath Equation Editor';
 $string['media_dlg:filename'] = 'Filename';
-$string['moodlenolink:desc'] = 'Prevent automatic linking';
 $string['moodleemoticon:desc'] = 'Insert emoticon';
+$string['moodlenolink:desc'] = 'Prevent automatic linking';
 $string['pluginname'] = 'TinyMCE HTML editor';
 
 
@@ -804,4 +804,3 @@ $string['xhtmlxtras_dlg:title_acronym_element'] = 'Acronym Element';
 $string['xhtmlxtras_dlg:title_cite_element'] = 'Citation Element';
 $string['xhtmlxtras_dlg:title_del_element'] = 'Deletion Element';
 $string['xhtmlxtras_dlg:title_ins_element'] = 'Insertion Element';
-
index b0f3bf0..39a85ff 100644 (file)
@@ -28,7 +28,7 @@ defined('MOODLE_INTERNAL') || die();
 
 class tinymce_texteditor extends texteditor {
     /** @var string active version - directory name */
-    public $version = '3.3.9.2';
+    public $version = '3.4.2';
 
     public function supported_by_browser() {
         if (check_browser_version('MSIE', 6)) {
@@ -67,7 +67,11 @@ class tinymce_texteditor extends texteditor {
 
     public function use_editor($elementid, array $options=null, $fpoptions=null) {
         global $PAGE;
-        $PAGE->requires->js('/lib/editor/tinymce/tiny_mce/'.$this->version.'/tiny_mce.js');
+        if (debugging('', DEBUG_DEVELOPER)) {
+            $PAGE->requires->js('/lib/editor/tinymce/tiny_mce/'.$this->version.'/tiny_mce_src.js');
+        } else {
+            $PAGE->requires->js('/lib/editor/tinymce/tiny_mce/'.$this->version.'/tiny_mce.js');
+        }
         $PAGE->requires->js_init_call('M.editor_tinymce.init_editor', array($elementid, $this->get_init_params($elementid, $options)), true);
         if ($fpoptions) {
             $PAGE->requires->js_init_call('M.editor_tinymce.init_filepicker', array($elementid, $fpoptions), true);
index b301424..54b4e9a 100644 (file)
@@ -8,13 +8,15 @@ Moodle maintainer: Petr Skoda (skodak)
 
 =========================================================================================
 Upgrade procedure:
- 1/ clone http://github.com/skodak/tinymce
- 2/ clone http://github.com/skodak/tinymce_spellchecker_php
- 3/ merge new changes in MOODLE_20_STABLE branches in these těo repos
+ 1/ clone http://github.com/moodle/tinymce
+ 2/ clone http://github.com/moodle/tinymce_spellchecker_php
+ 3/ merge new changes in latest STABLE branches into these two repos
  4/ tweak paths in build script in moodle_build.sh and execute
  5/ fix line endings 
  6/ download all TinyMCE lang files (extra/tools/download_langs.sh)
+ 7/ make sure your moodle installation has all language packs installed.
  7/ update moodle lang string files (extra/tools/update_lang_files.php)
+ 8/ ensure lang packs are updated into AMOS (lang.moodle.net)
 
 =========================================================================================
 Added:
diff --git a/lib/editor/tinymce/tiny_mce/3.3.9.2/jquery.tinymce.js b/lib/editor/tinymce/tiny_mce/3.3.9.2/jquery.tinymce.js
deleted file mode 100644 (file)
index 4866c2a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(b){var e,d,a=[],c=window;b.fn.tinymce=function(j){var p=this,g,k,h,m,i,l="",n="";if(!p.length){return p}if(!j){return tinyMCE.get(p[0].id)}function o(){var r=[],q=0;if(f){f();f=null}p.each(function(t,u){var s,w=u.id,v=j.oninit;if(!w){u.id=w=tinymce.DOM.uniqueId()}s=new tinymce.Editor(w,j);r.push(s);if(v){s.onInit.add(function(){var x,y=v;if(++q==r.length){if(tinymce.is(y,"string")){x=(y.indexOf(".")===-1)?null:tinymce.resolve(y.replace(/\.\w+$/,""));y=tinymce.resolve(y)}y.apply(x||tinymce,r)}})}});b.each(r,function(t,s){s.render()})}if(!c.tinymce&&!d&&(g=j.script_url)){d=1;h=g.substring(0,g.lastIndexOf("/"));if(/_(src|dev)\.js/g.test(g)){n="_src"}m=g.lastIndexOf("?");if(m!=-1){l=g.substring(m+1)}c.tinyMCEPreInit=c.tinyMCEPreInit||{base:h,suffix:n,query:l};if(g.indexOf("gzip")!=-1){i=j.language||"en";g=g+(/\?/.test(g)?"&":"?")+"js=true&core=true&suffix="+escape(n)+"&themes="+escape(j.theme)+"&plugins="+escape(j.plugins)+"&languages="+i;if(!c.tinyMCE_GZ){tinyMCE_GZ={start:function(){tinymce.suffix=n;function q(r){tinymce.ScriptLoader.markDone(tinyMCE.baseURI.toAbsolute(r))}q("langs/"+i+".js");q("themes/"+j.theme+"/editor_template"+n+".js");q("themes/"+j.theme+"/langs/"+i+".js");b.each(j.plugins.split(","),function(s,r){if(r){q("plugins/"+r+"/editor_plugin"+n+".js");q("plugins/"+r+"/langs/"+i+".js")}})},end:function(){}}}}b.ajax({type:"GET",url:g,dataType:"script",cache:true,success:function(){tinymce.dom.Event.domLoaded=1;d=2;if(j.script_loaded){j.script_loaded()}o();b.each(a,function(q,r){r()})}})}else{if(d===1){a.push(o)}else{o()}}return p};b.extend(b.expr[":"],{tinymce:function(g){return g.id&&!!tinyMCE.get(g.id)}});function f(){function i(l){if(l==="remove"){this.each(function(n,o){var m=h(o);if(m){m.remove()}})}this.find("span.mceEditor,div.mceEditor").each(function(n,o){var m=tinyMCE.get(o.id.replace(/_parent$/,""));if(m){m.remove()}})}function k(n){var m=this,l;if(n!==e){i.call(m);m.each(function(p,q){var o;if(o=tinyMCE.get(q.id)){o.setContent(n)}})}else{if(m.length>0){if(l=tinyMCE.get(m[0].id)){return l.getContent()}}}}function h(m){var l=null;(m)&&(m.id)&&(c.tinymce)&&(l=tinyMCE.get(m.id));return l}function g(l){return !!((l)&&(l.length)&&(c.tinymce)&&(l.is(":tinymce")))}var j={};b.each(["text","html","val"],function(n,l){var o=j[l]=b.fn[l],m=(l==="text");b.fn[l]=function(s){var p=this;if(!g(p)){return o.apply(p,arguments)}if(s!==e){k.call(p.filter(":tinymce"),s);o.apply(p.not(":tinymce"),arguments);return p}else{var r="";var q=arguments;(m?p:p.eq(0)).each(function(u,v){var t=h(v);r+=t?(m?t.getContent().replace(/<(?:"[^"]*"|'[^']*'|[^'">])*>/g,""):t.getContent()):o.apply(b(v),q)});return r}}});b.each(["append","prepend"],function(n,m){var o=j[m]=b.fn[m],l=(m==="prepend");b.fn[m]=function(q){var p=this;if(!g(p)){return o.apply(p,arguments)}if(q!==e){p.filter(":tinymce").each(function(s,t){var r=h(t);r&&r.setContent(l?q+r.getContent():r.getContent()+q)});o.apply(p.not(":tinymce"),arguments);return p}}});b.each(["remove","replaceWith","replaceAll","empty"],function(m,l){var n=j[l]=b.fn[l];b.fn[l]=function(){i.call(this,l);return n.apply(this,arguments)}});j.attr=b.fn.attr;b.fn.attr=function(n,q,o){var m=this;if((!n)||(n!=="value")||(!g(m))){return j.attr.call(m,n,q,o)}if(q!==e){k.call(m.filter(":tinymce"),q);j.attr.call(m.not(":tinymce"),n,q,o);return m}else{var p=m[0],l=h(p);return l?l.getContent():j.attr.call(b(p),n,q,o)}}}})(jQuery);
\ No newline at end of file
diff --git a/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advhr/rule.htm b/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advhr/rule.htm
deleted file mode 100644 (file)
index ed3598d..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#advhr.advhr_desc}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?v={tinymce_version}"></script>
-       <script type="text/javascript" src="js/rule.js?v={tinymce_version}"></script>
-       <script type="text/javascript" src="../../utils/mctabs.js?v={tinymce_version}"></script>
-       <script type="text/javascript" src="../../utils/form_utils.js?v={tinymce_version}"></script>
-       <link href="css/advhr.css?v={tinymce_version}" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<form onsubmit="AdvHRDialog.update();return false;" action="#">
-       <div class="tabs">
-               <ul>
-                       <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advhr.advhr_desc}</a></span></li>
-               </ul>
-       </div>
-
-       <div class="panel_wrapper">
-               <div id="general_panel" class="panel current">
-                       <table border="0" cellpadding="4" cellspacing="0">
-                    <tr>
-                        <td><label for="width">{#advhr_dlg.width}</label></td>
-                        <td class="nowrap">
-                            <input id="width" name="width" type="text" value="" class="mceFocus" />
-                            <select name="width2" id="width2">
-                                <option value="">px</option>
-                                <option value="%">%</option>
-                            </select>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td><label for="size">{#advhr_dlg.size}</label></td>
-                        <td><select id="size" name="size">
-                            <option value="">Normal</option>
-                            <option value="1">1</option>
-                            <option value="2">2</option>
-                            <option value="3">3</option>
-                            <option value="4">4</option>
-                            <option value="5">5</option>
-                        </select></td>
-                    </tr>
-                    <tr>
-                        <td><label for="noshade">{#advhr_dlg.noshade}</label></td>
-                        <td><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
-                    </tr>
-            </table>
-               </div>
-       </div>
-
-       <div class="mceActionPanel">
-               <input type="submit" id="insert" name="insert" value="{#insert}" />
-               <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
-       </div>
-</form>
-</body>
-</html>
diff --git a/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advlist/editor_plugin.js b/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/advlist/editor_plugin.js
deleted file mode 100644 (file)
index 02d1697..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.AdvListPlugin",{init:function(b,c){var d=this;d.editor=b;function e(g){var f=[];a(g.split(/,/),function(h){f.push({title:"advlist."+(h=="default"?"def":h.replace(/-/g,"_")),styles:{listStyleType:h=="default"?"":h}})});return f}d.numlist=b.getParam("advlist_number_styles")||e("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");d.bullist=b.getParam("advlist_bullet_styles")||e("default,circle,disc,square")},createControl:function(d,b){var f=this,e,h;if(d=="numlist"||d=="bullist"){if(f[d][0].title=="advlist.def"){h=f[d][0]}function c(i,k){var j=true;a(k.styles,function(m,l){if(f.editor.dom.getStyle(i,l)!=m){j=false;return false}});return j}function g(){var k,i=f.editor,l=i.dom,j=i.selection;k=l.getParent(j.getNode(),"ol,ul");if(!k||k.nodeName==(d=="bullist"?"OL":"UL")||c(k,h)){i.execCommand(d=="bullist"?"InsertUnorderedList":"InsertOrderedList")}if(h){k=l.getParent(j.getNode(),"ol,ul");if(k){l.setStyles(k,h.styles);k.removeAttribute("_mce_style")}}}e=b.createSplitButton(d,{title:"advanced."+d+"_desc","class":"mce_"+d,onclick:function(){g()}});e.onRenderMenu.add(function(i,j){j.onShowMenu.add(function(){var m=f.editor.dom,l=m.getParent(f.editor.selection.getNode(),"ol,ul"),k;if(l||h){k=f[d];a(j.items,function(n){var o=true;n.setSelected(0);if(l&&!n.isDisabled()){a(k,function(p){if(p.id==n.id){if(!c(l,p)){o=false;return false}}});if(o){n.setSelected(1)}}});if(!l){j.items[h.id].setSelected(1)}}});j.add({id:f.editor.dom.uniqueId(),title:"advlist.types","class":"mceMenuItemTitle"}).setDisabled(1);a(f[d],function(k){k.id=f.editor.dom.uniqueId();j.add({id:k.id,title:k.title,onclick:function(){h=k;g()}})})});return e}},getInfo:function(){return{longname:"Advanced lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlist",tinymce.plugins.AdvListPlugin)})();
\ No newline at end of file
diff --git a/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/autoresize/editor_plugin.js b/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/autoresize/editor_plugin.js
deleted file mode 100644 (file)
index 1676b15..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this;if(a.getParam("fullscreen_is_enabled")){return}function b(){var h=a.getDoc(),e=h.body,j=h.documentElement,g=tinymce.DOM,i=d.autoresize_min_height,f;f=tinymce.isIE?e.scrollHeight:j.offsetHeight;if(f>d.autoresize_min_height){i=f}g.setStyle(g.get(a.id+"_ifr"),"height",i+"px");if(d.throbbing){a.setProgressState(false);a.setProgressState(true)}}d.editor=a;d.autoresize_min_height=a.getElement().offsetHeight;a.onChange.add(b);a.onSetContent.add(b);a.onPaste.add(b);a.onKeyUp.add(b);a.onPostRender.add(b);if(a.getParam("autoresize_on_init",true)){a.onInit.add(function(f,e){f.setProgressState(true);d.throbbing=true;f.getBody().style.overflowY="hidden"});a.onLoadContent.add(function(f,e){b();setTimeout(function(){b();f.setProgressState(false);d.throbbing=false},1250)})}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"Auto Resize",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autoresize",tinymce.plugins.AutoResizePlugin)})();
\ No newline at end of file
diff --git a/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/contextmenu/editor_plugin.js b/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/contextmenu/editor_plugin.js
deleted file mode 100644 (file)
index 9749e51..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(d){var f=this,g;f.editor=d;f.onContextMenu=new tinymce.util.Dispatcher(this);d.onContextMenu.add(function(h,i){if(!i.ctrlKey){if(g){h.selection.setRng(g)}f._getMenu(h).showMenu(i.clientX,i.clientY);a.add(h.getDoc(),"click",function(j){e(h,j)});a.cancel(i)}});d.onRemove.add(function(){if(f._menu){f._menu.removeAll()}});function e(h,i){g=null;if(i&&i.button==2){g=h.selection.getRng();return}if(f._menu){f._menu.removeAll();f._menu.destroy();a.remove(h.getDoc(),"click",e)}}d.onMouseDown.add(e);d.onKeyDown.add(e)},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(h){var l=this,f=l._menu,i=h.selection,e=i.isCollapsed(),d=i.getNode()||h.getBody(),g,k,j;if(f){f.removeAll();f.destroy()}k=b.getPos(h.getContentAreaContainer());j=b.getPos(h.getContainer());f=h.controlManager.createDropMenu("contextmenu",{offset_x:k.x+h.getParam("contextmenu_offset_x",0),offset_y:k.y+h.getParam("contextmenu_offset_y",0),constrain:1});l._menu=f;f.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(e);f.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(e);f.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((d.nodeName=="A"&&!h.dom.getAttrib(d,"name"))||!e){f.addSeparator();f.add({title:"advanced.link_desc",icon:"link",cmd:h.plugins.advlink?"mceAdvLink":"mceLink",ui:true});f.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}f.addSeparator();f.add({title:"advanced.image_desc",icon:"image",cmd:h.plugins.advimage?"mceAdvImage":"mceImage",ui:true});f.addSeparator();g=f.addMenu({title:"contextmenu.align"});g.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});g.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});g.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});g.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});l.onContextMenu.dispatch(l,f,d,e);return f}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})();
\ No newline at end of file
diff --git a/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/editor_plugin.js b/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/editor_plugin.js
deleted file mode 100644 (file)
index aeaa669..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){tinymce.create("tinymce.plugins.FullPagePlugin",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceFullPageProperties",function(){a.windowManager.open({file:b+"/fullpage.htm",width:430+parseInt(a.getLang("fullpage.delta_width",0)),height:495+parseInt(a.getLang("fullpage.delta_height",0)),inline:1},{plugin_url:b,head_html:c.head})});a.addButton("fullpage",{title:"fullpage.desc",cmd:"mceFullPageProperties"});a.onBeforeSetContent.add(c._setContent,c);a.onSetContent.add(c._setBodyAttribs,c);a.onGetContent.add(c._getContent,c)},getInfo:function(){return{longname:"Fullpage",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_setBodyAttribs:function(d,a){var l,c,e,g,b,h,j,f=this.head.match(/body(.*?)>/i);if(f&&f[1]){l=f[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);if(l){for(c=0,e=l.length;c<e;c++){g=l[c].split("=");b=g[0].replace(/\s/,"");h=g[1];if(h){h=h.replace(/^\s+/,"").replace(/\s+$/,"");j=h.match(/^["'](.*)["']$/);if(j){h=j[1]}}else{h=b}d.dom.setAttrib(d.getBody(),"style",h)}}}},_createSerializer:function(){return new tinymce.dom.Serializer({dom:this.editor.dom,apply_source_formatting:true})},_setContent:function(d,b){var h=this,a,j,f=b.content,g,i="";if(b.format=="raw"&&h.head){return}if(b.source_view&&d.getParam("fullpage_hide_in_source_view")){return}f=f.replace(/<(\/?)BODY/gi,"<$1body");a=f.indexOf("<body");if(a!=-1){a=f.indexOf(">",a);h.head=f.substring(0,a+1);j=f.indexOf("</body",a);if(j==-1){j=f.indexOf("</body",j)}b.content=f.substring(a+1,j);h.foot=f.substring(j);function e(c){return c.replace(/<\/?[A-Z]+/g,function(k){return k.toLowerCase()})}h.head=e(h.head);h.foot=e(h.foot)}else{h.head="";if(d.getParam("fullpage_default_xml_pi")){h.head+='<?xml version="1.0" encoding="'+d.getParam("fullpage_default_encoding","ISO-8859-1")+'" ?>\n'}h.head+=d.getParam("fullpage_default_doctype",'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');h.head+="\n<html>\n<head>\n<title>"+d.getParam("fullpage_default_title","Untitled document")+"</title>\n";if(g=d.getParam("fullpage_default_encoding")){h.head+='<meta http-equiv="Content-Type" content="'+g+'" />\n'}if(g=d.getParam("fullpage_default_font_family")){i+="font-family: "+g+";"}if(g=d.getParam("fullpage_default_font_size")){i+="font-size: "+g+";"}if(g=d.getParam("fullpage_default_text_color")){i+="color: "+g+";"}h.head+="</head>\n<body"+(i?' style="'+i+'"':"")+">\n";h.foot="\n</body>\n</html>"}},_getContent:function(a,c){var b=this;if(!c.source_view||!a.getParam("fullpage_hide_in_source_view")){c.content=tinymce.trim(b.head)+"\n"+tinymce.trim(c.content)+"\n"+tinymce.trim(b.foot)}}});tinymce.PluginManager.add("fullpage",tinymce.plugins.FullPagePlugin)})();
\ No newline at end of file
diff --git a/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/editor_plugin_src.js b/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/editor_plugin_src.js
deleted file mode 100644 (file)
index f07bdaf..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
- * editor_plugin_src.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-(function() {
-       tinymce.create('tinymce.plugins.FullPagePlugin', {
-               init : function(ed, url) {
-                       var t = this;
-
-                       t.editor = ed;
-
-                       // Register commands
-                       ed.addCommand('mceFullPageProperties', function() {
-                               ed.windowManager.open({
-                                       file : url + '/fullpage.htm',
-                                       width : 430 + parseInt(ed.getLang('fullpage.delta_width', 0)),
-                                       height : 495 + parseInt(ed.getLang('fullpage.delta_height', 0)),
-                                       inline : 1
-                               }, {
-                                       plugin_url : url,
-                                       head_html : t.head
-                               });
-                       });
-
-                       // Register buttons
-                       ed.addButton('fullpage', {title : 'fullpage.desc', cmd : 'mceFullPageProperties'});
-
-                       ed.onBeforeSetContent.add(t._setContent, t);
-                       ed.onSetContent.add(t._setBodyAttribs, t);
-                       ed.onGetContent.add(t._getContent, t);
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'Fullpage',
-                               author : 'Moxiecode Systems AB',
-                               authorurl : 'http://tinymce.moxiecode.com',
-                               infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',
-                               version : tinymce.majorVersion + "." + tinymce.minorVersion
-                       };
-               },
-
-               // Private plugin internal methods
-
-               _setBodyAttribs : function(ed, o) {
-                       var bdattr, i, len, kv, k, v, t, attr = this.head.match(/body(.*?)>/i);
-
-                       if (attr && attr[1]) {
-                               bdattr = attr[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);
-
-                               if (bdattr) {
-                                       for(i = 0, len = bdattr.length; i < len; i++) {
-                                               kv = bdattr[i].split('=');
-                                               k = kv[0].replace(/\s/,'');
-                                               v = kv[1];
-
-                                               if (v) {
-                                                       v = v.replace(/^\s+/,'').replace(/\s+$/,'');
-                                                       t = v.match(/^["'](.*)["']$/);
-
-                                                       if (t)
-                                                               v = t[1];
-                                               } else
-                                                       v = k;
-
-                                               ed.dom.setAttrib(ed.getBody(), 'style', v);
-                                       }
-                               }
-                       }
-               },
-
-               _createSerializer : function() {
-                       return new tinymce.dom.Serializer({
-                               dom : this.editor.dom,
-                               apply_source_formatting : true
-                       });
-               },
-
-               _setContent : function(ed, o) {
-                       var t = this, sp, ep, c = o.content, v, st = '';
-
-                       // Ignore raw updated if we already have a head, this will fix issues with undo/redo keeping the head/foot separate
-                       if (o.format == 'raw' && t.head)
-                               return;
-
-                       if (o.source_view && ed.getParam('fullpage_hide_in_source_view'))
-                               return;
-
-                       // Parse out head, body and footer
-                       c = c.replace(/<(\/?)BODY/gi, '<$1body');
-                       sp = c.indexOf('<body');
-
-                       if (sp != -1) {
-                               sp = c.indexOf('>', sp);
-                               t.head = c.substring(0, sp + 1);
-
-                               ep = c.indexOf('</body', sp);
-                               if (ep == -1)
-                                       ep = c.indexOf('</body', ep);
-
-                               o.content = c.substring(sp + 1, ep);
-                               t.foot = c.substring(ep);
-
-                               function low(s) {
-                                       return s.replace(/<\/?[A-Z]+/g, function(a) {
-                                               return a.toLowerCase();
-                                       })
-                               };
-
-                               t.head = low(t.head);
-                               t.foot = low(t.foot);
-                       } else {
-                               t.head = '';
-                               if (ed.getParam('fullpage_default_xml_pi'))
-                                       t.head += '<?xml version="1.0" encoding="' + ed.getParam('fullpage_default_encoding', 'ISO-8859-1') + '" ?>\n';
-
-                               t.head += ed.getParam('fullpage_default_doctype', '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
-                               t.head += '\n<html>\n<head>\n<title>' + ed.getParam('fullpage_default_title', 'Untitled document') + '</title>\n';
-
-                               if (v = ed.getParam('fullpage_default_encoding'))
-                                       t.head += '<meta http-equiv="Content-Type" content="' + v + '" />\n';
-
-                               if (v = ed.getParam('fullpage_default_font_family'))
-                                       st += 'font-family: ' + v + ';';
-
-                               if (v = ed.getParam('fullpage_default_font_size'))
-                                       st += 'font-size: ' + v + ';';
-
-                               if (v = ed.getParam('fullpage_default_text_color'))
-                                       st += 'color: ' + v + ';';
-
-                               t.head += '</head>\n<body' + (st ? ' style="' + st + '"' : '') + '>\n';
-                               t.foot = '\n</body>\n</html>';
-                       }
-               },
-
-               _getContent : function(ed, o) {
-                       var t = this;
-
-                       if (!o.source_view || !ed.getParam('fullpage_hide_in_source_view'))
-                               o.content = tinymce.trim(t.head) + '\n' + tinymce.trim(o.content) + '\n' + tinymce.trim(t.foot);
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('fullpage', tinymce.plugins.FullPagePlugin);
-})();
\ No newline at end of file
diff --git a/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/fullpage.htm b/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/fullpage.htm
deleted file mode 100644 (file)
index 04883e8..0000000
+++ /dev/null
@@ -1,571 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#fullpage_dlg.title}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?v={tinymce_version}"></script>
-       <script type="text/javascript" src="../../utils/mctabs.js?v={tinymce_version}"></script>
-       <script type="text/javascript" src="../../utils/form_utils.js?v={tinymce_version}"></script>
-       <script type="text/javascript" src="js/fullpage.js?v={tinymce_version}"></script>
-       <link href="css/fullpage.css?v={tinymce_version}" rel="stylesheet" type="text/css" />
-</head>
-<body id="advlink" style="display: none">
-    <form onsubmit="updateAction();return false;" name="fullpage" action="#">
-               <div class="tabs">
-                       <ul>
-                               <li id="meta_tab" class="current"><span><a href="javascript:mcTabs.displayTab('meta_tab','meta_panel');" onmousedown="return false;">{#fullpage_dlg.meta_tab}</a></span></li>
-                               <li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{#fullpage_dlg.appearance_tab}</a></span></li>
-                               <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#fullpage_dlg.advanced_tab}</a></span></li>
-                       </ul>
-               </div>
-
-               <div class="panel_wrapper">
-                       <div id="meta_panel" class="panel current">
-                               <fieldset>
-                                       <legend>{#fullpage_dlg.meta_props}</legend>
-
-                                       <table border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td class="nowrap"><label for="metatitle">{#fullpage_dlg.meta_title}</label>&nbsp;</td>
-                                                       <td><input type="text" id="metatitle" name="metatitle" value="" class="mceFocus" /></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="nowrap"><label for="metakeywords">{#fullpage_dlg.meta_keywords}</label>&nbsp;</td>
-                                                       <td><textarea id="metakeywords" name="metakeywords" rows="4"></textarea></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="nowrap"><label for="metadescription">{#fullpage_dlg.meta_description}</label>&nbsp;</td>
-                                                       <td><textarea id="metadescription" name="metadescription" rows="4"></textarea></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="nowrap"><label for="metaauthor">{#fullpage_dlg.author}</label>&nbsp;</td>
-                                                       <td><input type="text" id="metaauthor" name="metaauthor" value="" /></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="nowrap"><label for="metacopyright">{#fullpage_dlg.copyright}</label>&nbsp;</td>
-                                                       <td><input type="text" id="metacopyright" name="metacopyright" value="" /></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="nowrap"><label for="metarobots">{#fullpage_dlg.meta_robots}</label>&nbsp;</td>
-                                                       <td>
-                                                               <select id="metarobots" name="metarobots">
-                                                                                       <option value="">{#not_set}</option> 
-                                                                                       <option value="index,follow">{#fullpage_dlg.meta_index_follow}</option>
-                                                                                       <option value="index,nofollow">{#fullpage_dlg.meta_index_nofollow}</option>
-                                                                                       <option value="noindex,follow">{#fullpage_dlg.meta_noindex_follow}</option>
-                                                                                       <option value="noindex,nofollow">{#fullpage_dlg.meta_noindex_nofollow}</option>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset>
-                                       <legend>{#fullpage_dlg.langprops}</legend>
-
-                                       <table border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td class="column1"><label for="docencoding">{#fullpage_dlg.encoding}</label></td> 
-                                                       <td>
-                                                               <select id="docencoding" name="docencoding"> 
-                                                                               <option value="">{#not_set}</option>
-                                                               </select>
-                                                       </td> 
-                                               </tr>
-                                               <tr>
-                                                       <td class="nowrap"><label for="doctypes">{#fullpage_dlg.doctypes}</label>&nbsp;</td>
-                                                       <td>
-                                                               <select id="doctypes" name="doctypes">
-                                                                               <option value="">{#not_set}</option>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="nowrap"><label for="langcode">{#fullpage_dlg.langcode}</label>&nbsp;</td>
-                                                       <td><input type="text" id="langcode" name="langcode" value="" /></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="column1"><label for="langdir">{#fullpage_dlg.langdir}</label></td> 
-                                                       <td>
-                                                               <select id="langdir" name="langdir"> 
-                                                                               <option value="">{#not_set}</option> 
-                                                                               <option value="ltr">{#fullpage_dlg.ltr}</option> 
-                                                                               <option value="rtl">{#fullpage_dlg.rtl}</option> 
-                                                               </select>
-                                                       </td> 
-                                               </tr>
-                                               <tr>
-                                                       <td class="nowrap"><label for="xml_pi">{#fullpage_dlg.xml_pi}</label>&nbsp;</td>
-                                                       <td><input type="checkbox" id="xml_pi" name="xml_pi" class="checkbox" /></td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-                       </div>
-
-                       <div id="appearance_panel" class="panel">
-                               <fieldset>
-                                       <legend>{#fullpage_dlg.appearance_textprops}</legend>
-
-                                       <table border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td class="column1"><label for="fontface">{#fullpage_dlg.fontface}</label></td> 
-                                                       <td>
-                                                               <select id="fontface" name="fontface" onchange="changedStyleField(this);">
-                                                                               <option value="">{#not_set}</option>
-                                                               </select>
-                                                       </td> 
-                                               </tr>
-
-                                               <tr>
-                                                       <td class="column1"><label for="fontsize">{#fullpage_dlg.fontsize}</label></td> 
-                                                       <td>
-                                                               <select id="fontsize" name="fontsize" onchange="changedStyleField(this);">
-                                                                               <option value="">{#not_set}</option>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td class="column1"><label for="textcolor">{#fullpage_dlg.textcolor}</label></td> 
-                                                       <td>
-                                                               <table border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="textcolor" name="textcolor" type="text" value="" size="9" onchange="updateColor('textcolor_pick','textcolor');changedStyleField(this);" /></td>
-                                                                               <td id="textcolor_pickcontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset>
-                                       <legend>{#fullpage_dlg.appearance_bgprops}</legend>
-
-                                       <table border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td class="column1"><label for="bgimage">{#fullpage_dlg.bgimage}</label></td> 
-                                                       <td>
-                                                               <table border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="bgimage" name="bgimage" type="text" value="" onchange="changedStyleField(this);" /></td>
-                                                                               <td id="bgimage_pickcontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="column1"><label for="bgcolor">{#fullpage_dlg.bgcolor}</label></td> 
-                                                       <td>
-                                                               <table border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedStyleField(this);" /></td>
-                                                                               <td id="bgcolor_pickcontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td> 
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset>
-                                       <legend>{#fullpage_dlg.appearance_marginprops}</legend>
-
-                                       <table border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td class="column1"><label for="leftmargin">{#fullpage_dlg.left_margin}</label></td> 
-                                                       <td><input id="leftmargin" name="leftmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
-                                                       <td class="column1"><label for="rightmargin">{#fullpage_dlg.right_margin}</label></td> 
-                                                       <td><input id="rightmargin" name="rightmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="column1"><label for="topmargin">{#fullpage_dlg.top_margin}</label></td> 
-                                                       <td><input id="topmargin" name="topmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
-                                                       <td class="column1"><label for="bottommargin">{#fullpage_dlg.bottom_margin}</label></td> 
-                                                       <td><input id="bottommargin" name="bottommargin" type="text" value="" onchange="changedStyleField(this);" /></td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset>
-                                       <legend>{#fullpage_dlg.appearance_linkprops}</legend>
-
-                                       <table border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td class="column1"><label for="link_color">{#fullpage_dlg.link_color}</label></td> 
-                                                       <td>
-                                                               <table border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="link_color" name="link_color" type="text" value="" size="9" onchange="updateColor('link_color_pick','link_color');changedStyleField(this);" /></td>
-                                                                               <td id="link_color_pickcontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td class="column1"><label for="visited_color">{#fullpage_dlg.visited_color}</label></td> 
-                                                       <td>
-                                                               <table border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="visited_color" name="visited_color" type="text" value="" size="9" onchange="updateColor('visited_color_pick','visited_color');changedStyleField(this);" /></td>
-                                                                               <td id="visited_color_pickcontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td class="column1"><label for="active_color">{#fullpage_dlg.active_color}</label></td> 
-                                                       <td>
-                                                               <table border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="active_color" name="active_color" type="text" value="" size="9" onchange="updateColor('active_color_pick','active_color');changedStyleField(this);" /></td>
-                                                                               <td id="active_color_pickcontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td>&nbsp;</td>
-                                                       <td>&nbsp;</td>
-
-<!--                                                   <td class="column1"><label for="hover_color">{#fullpage_dlg.hover_color}</label></td> 
-                                                       <td>
-                                                               <table border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="hover_color" name="hover_color" type="text" value="" size="9" onchange="changedStyleField(this);" /></td>
-                                                                               <td id="hover_color_pickcontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td> -->
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset>
-                                       <legend>{#fullpage_dlg.appearance_style}</legend>
-
-                                       <table border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td class="column1"><label for="stylesheet">{#fullpage_dlg.stylesheet}</label></td> 
-                                                       <td><table border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="stylesheet" name="stylesheet" type="text" value="" /></td>
-                                                                               <td id="stylesheet_browsercontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="column1"><label for="style">{#fullpage_dlg.style}</label></td> 
-                                                       <td><input id="style" name="style" type="text" value="" onchange="changedStyleField(this);" /></td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-                       </div>
-
-                       <div id="advanced_panel" class="panel">
-                               <div id="addmenu">
-                                       <table border="0" cellpadding="0" cellspacing="0">
-                                               <tr><td><a href="javascript:addHeadElm('title');" onmousedown="return false;"><span>{#fullpage_dlg.add_title}</span></a></td></tr>
-                                               <tr><td><a href="javascript:addHeadElm('meta');" onmousedown="return false;"><span>{#fullpage_dlg.add_meta}</span></a></td></tr>
-                                               <tr><td><a href="javascript:addHeadElm('script');" onmousedown="return false;"><span>{#fullpage_dlg.add_script}</span></a></td></tr>
-                                               <tr><td><a href="javascript:addHeadElm('style');" onmousedown="return false;"><span>{#fullpage_dlg.add_style}</span></a></td></tr>
-                                               <tr><td><a href="javascript:addHeadElm('link');" onmousedown="return false;"><span>{#fullpage_dlg.add_link}</span></a></td></tr>
-                                               <tr><td><a href="javascript:addHeadElm('base');" onmousedown="return false;"><span>{#fullpage_dlg.add_base}</span></a></td></tr>
-                                               <tr><td><a href="javascript:addHeadElm('comment');" onmousedown="return false;"><span>{#fullpage_dlg.add_comment}</span></a></td></tr>
-                                       </table>
-                               </div>
-
-                               <fieldset>
-                                       <legend>{#fullpage_dlg.head_elements}</legend>
-
-                                       <div class="headlistwrapper">
-                                               <div class="toolbar">
-                                                       <div style="float: left">
-                                                               <a id="addbutton" href="javascript:showAddMenu();" onmousedown="return false;" class="addbutton" title="{#fullpage_dlg.add}"></a>
-                                                               <a href="#" onmousedown="return false;" class="removebutton" title="{#fullpage_dlg.remove}"></a>
-                                                       </div>
-                                                       <div style="float: right">
-                                                               <a href="#" onmousedown="return false;" class="moveupbutton" title="{#fullpage_dlg.moveup}"></a>
-                                                               <a href="#" onmousedown="return false;" class="movedownbutton" title="{#fullpage_dlg.movedown}"></a>
-                                                       </div>
-                                                       <br style="clear: both" />
-                                               </div>
-                                               <select id="headlist" size="26" onchange="updateHeadElm(this.options[this.selectedIndex].value);">
-                                                       <option value="title_0">&lt;title&gt;Some title bla bla bla&lt;/title&gt;</option>
-                                                       <option value="meta_1">&lt;meta name="keywords"&gt;Some bla bla bla&lt;/meta&gt;</option>
-                                                       <option value="meta_2">&lt;meta name="description"&gt;Some bla bla bla bla bla bla bla bla bla&lt;/meta&gt;</option>
-                                                       <option value="script_3">&lt;script language=&quot;javascript&quot;&gt;...&lt;/script&gt;</option>
-                                                       <option value="style_4">&lt;style&gt;...&lt;/style&gt;</option>
-                                                       <option value="base_5">&lt;base href="." /&gt;</option>
-                                                       <option value="comment_6">&lt;!-- ... --&gt;</option>
-                                                       <option value="link_7">&lt;link href="." /&gt;</option>
-                                               </select>
-                                       </div>
-                               </fieldset>
-
-                               <fieldset id="meta_element">
-                                       <legend>{#fullpage_dlg.meta_element}</legend>
-
-                                       <table border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td class="column1"><label for="element_meta_type">{#fullpage_dlg.type}</label></td> 
-                                                       <td><select id="element_meta_type">
-                                                                               <option value="name">name</option>
-                                                                               <option value="http-equiv">http-equiv</option>
-                                                               </select></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="column1"><label for="element_meta_name">{#fullpage_dlg.name}</label></td> 
-                                                       <td><input id="element_meta_name" name="element_meta_name" type="text" value="" /></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="column1"><label for="element_meta_content">{#fullpage_dlg.content}</label></td> 
-                                                       <td><input id="element_meta_content" name="element_meta_content" type="text" value="" /></td>
-                                               </tr>
-                                       </table>
-
-                                       <input type="button" id="meta_updateelement" class="updateElementButton" name="update" value="{#update}" onclick="updateElement();" />
-                               </fieldset>
-
-                               <fieldset id="title_element">
-                                       <legend>{#fullpage_dlg.title_element}</legend>
-
-                                       <table border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td class="column1"><label for="element_title">{#fullpage_dlg.meta_title}</label></td> 
-                                                       <td><input id="element_title" name="element_title" type="text" value="" /></td>
-                                               </tr>
-                                       </table>
-
-                                       <input type="button" id="title_updateelement" class="updateElementButton" name="update" value="{#update}" onclick="updateElement();" />
-                               </fieldset>
-
-                               <fieldset id="script_element">
-                                       <legend>{#fullpage_dlg.script_element}</legend>
-
-                                       <div class="tabs">
-                                               <ul>
-                                                       <li id="script_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('script_props_tab','script_props_panel');" onmousedown="return false;">{#fullpage_dlg.properties}</a></span></li>
-                                                       <li id="script_value_tab"><span><a href="javascript:mcTabs.displayTab('script_value_tab','script_value_panel');" onmousedown="return false;">{#fullpage_dlg.value}</a></span></li>
-                                               </ul>
-                                       </div>
-
-                                       <br style="clear: both" />
-
-                                       <div class="panel_wrapper">
-                                               <div id="script_props_panel" class="panel current">
-                                                       <table border="0" cellpadding="4" cellspacing="0">
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_script_type">{#fullpage_dlg.type}</label></td> 
-                                                                       <td><select id="element_script_type">
-                                                                               <option value="text/javascript">text/javascript</option>
-                                                                               <option value="text/jscript">text/jscript</option>
-                                                                               <option value="text/vbscript">text/vbscript</option>
-                                                                               <option value="text/vbs">text/vbs</option>
-                                                                               <option value="text/ecmascript">text/ecmascript</option>
-                                                                               <option value="text/xml">text/xml</option>
-                                                                       </select></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_script_src">{#fullpage_dlg.src}</label></td> 
-                                                                       <td><table border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="element_script_src" name="element_script_src" type="text" value="" /></td>
-                                                                               <td id="script_src_pickcontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_script_charset">{#fullpage_dlg.charset}</label></td> 
-                                                                       <td><select id="element_script_charset"><option value="">{#not_set}</option></select></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_script_defer">{#fullpage_dlg.defer}</label></td> 
-                                                                       <td><input type="checkbox" id="element_script_defer" name="element_script_defer" class="checkbox" /></td>
-                                                               </tr>
-                                                       </table>
-                                               </div>
-
-                                               <div id="script_value_panel" class="panel">
-                                                       <textarea id="element_script_value"></textarea>
-                                               </div>
-                                       </div>
-
-                                       <input type="button" id="script_updateelement" class="updateElementButton" name="update" value="{#update}" onclick="updateElement();" />
-                               </fieldset>
-
-                               <fieldset id="style_element">
-                                       <legend>{#fullpage_dlg.style_element}</legend>
-
-                                       <div class="tabs">
-                                               <ul>
-                                                       <li id="style_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('style_props_tab','style_props_panel');" onmousedown="return false;">{#fullpage_dlg.properties}</a></span></li>
-                                                       <li id="style_value_tab"><span><a href="javascript:mcTabs.displayTab('style_value_tab','style_value_panel');" onmousedown="return false;">{#fullpage_dlg.value}</a></span></li>
-                                               </ul>
-                                       </div>
-
-                                       <br style="clear: both" />
-
-                                       <div class="panel_wrapper">
-                                               <div id="style_props_panel" class="panel current">
-                                                       <table border="0" cellpadding="4" cellspacing="0">
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_style_type">{#fullpage_dlg.type}</label></td> 
-                                                                       <td><select id="element_style_type">
-                                                                               <option value="text/css">text/css</option>
-                                                                       </select></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_style_media">{#fullpage_dlg.media}</label></td> 
-                                                                       <td><select id="element_style_media"></select></td>
-                                                               </tr>
-                                                       </table>
-                                               </div>
-
-                                               <div id="style_value_panel" class="panel">
-                                                       <textarea id="element_style_value"></textarea>
-                                               </div>
-                                       </div>
-
-                                       <input type="button" id="style_updateelement" class="updateElementButton" name="update" value="{#update}" onclick="updateElement();" />
-                               </fieldset>
-
-                               <fieldset id="base_element">
-                                       <legend>{#fullpage_dlg.base_element}</legend>
-
-                                       <table border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td class="column1"><label for="element_base_href">{#fullpage_dlg.href}</label></td> 
-                                                       <td><input id="element_base_href" name="element_base_href" type="text" value="" /></td>
-                                               </tr>
-                                               <tr>
-                                                       <td class="column1"><label for="element_base_target">{#fullpage_dlg.target}</label></td> 
-                                                       <td><input id="element_base_target" name="element_base_target" type="text" value="" /></td>
-                                               </tr>
-                                       </table>
-
-                                       <input type="button" id="base_updateelement" class="updateElementButton" name="update" value="{#update}" onclick="updateElement();" />
-                               </fieldset>
-
-                               <fieldset id="link_element">
-                                       <legend>{#fullpage_dlg.link_element}</legend>
-
-                                       <div class="tabs">
-                                               <ul>
-                                                       <li id="link_general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('link_general_tab','link_general_panel');" onmousedown="return false;">{#fullpage_dlg.general_props}</a></span></li>
-                                                       <li id="link_advanced_tab"><span><a href="javascript:mcTabs.displayTab('link_advanced_tab','link_advanced_panel');" onmousedown="return false;">{#fullpage_dlg.advanced_props}</a></span></li>
-                                               </ul>
-                                       </div>
-
-                                       <br style="clear: both" />
-
-                                       <div class="panel_wrapper">
-                                               <div id="link_general_panel" class="panel current">
-                                                       <table border="0" cellpadding="4" cellspacing="0">
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_link_href">{#fullpage_dlg.href}</label></td> 
-                                                                       <td><table border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="element_link_href" name="element_link_href" type="text" value="" /></td>
-                                                                               <td id="link_href_pickcontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_link_title">{#fullpage_dlg.meta_title}</label></td> 
-                                                                       <td><input id="element_link_title" name="element_link_title" type="text" value="" /></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_link_type">{#fullpage_dlg.type}</label></td> 
-                                                                       <td><select id="element_link_type" name="element_link_type">
-                                                                               <option value="text/css">text/css</option>
-                                                                               <option value="text/javascript">text/javascript</option>
-                                                                       </select></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_link_media">{#fullpage_dlg.media}</label></td> 
-                                                                       <td><select id="element_link_media" name="element_link_media"></select></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td><label for="element_style_rel">{#fullpage_dlg.rel}</label></td>
-                                                                       <td><select id="element_style_rel" name="element_style_rel"> 
-                                                                                       <option value="">{#not_set}</option> 
-                                                                                       <option value="stylesheet">Stylesheet</option>
-                                                                                       <option value="alternate">Alternate</option>
-                                                                                       <option value="designates">Designates</option>
-                                                                                       <option value="start">Start</option>
-                                                                                       <option value="next">Next</option>
-                                                                                       <option value="prev">Prev</option>
-                                                                                       <option value="contents">Contents</option>
-                                                                                       <option value="index">Index</option>
-                                                                                       <option value="glossary">Glossary</option>
-                                                                                       <option value="copyright">Copyright</option>
-                                                                                       <option value="chapter">Chapter</option>
-                                                                                       <option value="subsection">Subsection</option>
-                                                                                       <option value="appendix">Appendix</option>
-                                                                                       <option value="help">Help</option>
-                                                                                       <option value="bookmark">Bookmark</option>
-                                                                               </select> 
-                                                                       </td>
-                                                               </tr>
-                                                       </table>
-                                               </div>
-
-                                               <div id="link_advanced_panel" class="panel">
-                                                       <table border="0" cellpadding="4" cellspacing="0">
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_link_charset">{#fullpage_dlg.charset}</label></td> 
-                                                                       <td><select id="element_link_charset"><option value="">{#not_set}</option></select></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_link_hreflang">{#fullpage_dlg.hreflang}</label></td> 
-                                                                       <td><input id="element_link_hreflang" name="element_link_hreflang" type="text" value="" /></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td class="column1"><label for="element_link_target">{#fullpage_dlg.target}</label></td> 
-                                                                       <td><input id="element_link_target" name="element_link_target" type="text" value="" /></td>
-                                                               </tr>
-                                                               <tr>
-                                                                       <td><label for="element_style_rev">{#fullpage_dlg.rev}</label></td>
-                                                                       <td><select id="element_style_rev" name="element_style_rev"> 
-                                                                                       <option value="">{#not_set}</option> 
-                                                                                       <option value="alternate">Alternate</option> 
-                                                                                       <option value="designates">Designates</option> 
-                                                                                       <option value="stylesheet">Stylesheet</option> 
-                                                                                       <option value="start">Start</option> 
-                                                                                       <option value="next">Next</option> 
-                                                                                       <option value="prev">Prev</option> 
-                                                                                       <option value="contents">Contents</option> 
-                                                                                       <option value="index">Index</option> 
-                                                                                       <option value="glossary">Glossary</option> 
-                                                                                       <option value="copyright">Copyright</option> 
-                                                                                       <option value="chapter">Chapter</option> 
-                                                                                       <option value="subsection">Subsection</option> 
-                                                                                       <option value="appendix">Appendix</option> 
-                                                                                       <option value="help">Help</option> 
-                                                                                       <option value="bookmark">Bookmark</option> 
-                                                                               </select> 
-                                                                       </td>
-                                                               </tr>
-                                                       </table>
-                                               </div>
-                                       </div>
-
-                                       <input type="button" id="link_updateelement" class="updateElementButton" name="update" value="{#update}" onclick="updateElement();" />
-                               </fieldset>
-
-                               <fieldset id="comment_element">
-                                       <legend>{#fullpage_dlg.comment_element}</legend>
-
-                                       <textarea id="element_comment_value"></textarea>
-
-                                       <input type="button" id="comment_updateelement" class="updateElementButton" name="update" value="{#update}" onclick="updateElement();" />
-                               </fieldset>
-                       </div>
-               </div>
-
-               <div class="mceActionPanel">
-                       <input type="submit" id="insert" name="update" value="{#update}" />
-                       <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
-               </div>
-    </form>
-</body>
-</html>
diff --git a/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/js/fullpage.js b/lib/editor/tinymce/tiny_mce/3.3.9.2/plugins/fullpage/js/fullpage.js
deleted file mode 100644 (file)
index 7a80fcd..0000000
+++ /dev/null
@@ -1,471 +0,0 @@
-/**
- * fullpage.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-tinyMCEPopup.requireLangPack();
-
-var doc;
-
-var defaultDocTypes = 
-       'XHTML 1.0 Transitional=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,' +
-       'XHTML 1.0 Frameset=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">,' +
-       'XHTML 1.0 Strict=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,' +
-       'XHTML 1.1=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">,' +
-       'HTML 4.01 Transitional=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,' +
-       'HTML 4.01 Strict=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">,' +
-       'HTML 4.01 Frameset=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">';
-
-var defaultEncodings = 
-       'Western european (iso-8859-1)=iso-8859-1,' +
-       'Central European (iso-8859-2)=iso-8859-2,' +
-       'Unicode (UTF-8)=utf-8,' +
-       'Chinese traditional (Big5)=big5,' +
-       'Cyrillic (iso-8859-5)=iso-8859-5,' +
-       'Japanese (iso-2022-jp)=iso-2022-jp,' +
-       'Greek (iso-8859-7)=iso-8859-7,' +
-       'Korean (iso-2022-kr)=iso-2022-kr,' +
-       'ASCII (us-ascii)=us-ascii';
-
-var defaultMediaTypes = 
-       'all=all,' +
-       'screen=screen,' +
-       'print=print,' +
-       'tty=tty,' +
-       'tv=tv,' +
-       'projection=projection,' +
-       'handheld=handheld,' +
-       'braille=braille,' +
-       'aural=aural';
-
-var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
-var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px';
-
-function init() {
-       var f = document.forms['fullpage'], el = f.elements, e, i, p, doctypes, encodings, mediaTypes, fonts, ed = tinyMCEPopup.editor, dom = tinyMCEPopup.dom, style;
-
-       // Setup doctype select box
-       doctypes = ed.getParam("fullpage_doctypes", defaultDocTypes).split(',');
-       for (i=0; i<doctypes.length; i++) {
-               p = doctypes[i].split('=');
-
-               if (p.length > 1)
-                       addSelectValue(f, 'doctypes', p[0], p[1]);
-       }
-
-       // Setup fonts select box
-       fonts = ed.getParam("fullpage_fonts", defaultFontNames).split(';');
-       for (i=0; i<fonts.length; i++) {
-               p = fonts[i].split('=');
-
-               if (p.length > 1)
-                       addSelectValue(f, 'fontface', p[0], p[1]);
-       }
-
-       // Setup fontsize select box
-       fonts = ed.getParam("fullpage_fontsizes", defaultFontSizes).split(',');
-       for (i=0; i<fonts.length; i++)
-               addSelectValue(f, 'fontsize', fonts[i], fonts[i]);
-
-       // Setup mediatype select boxs
-       mediaTypes = ed.getParam("fullpage_media_types", defaultMediaTypes).split(',');
-       for (i=0; i<mediaTypes.length; i++) {
-               p = mediaTypes[i].split('=');
-
-               if (p.length > 1) {
-                       addSelectValue(f, 'element_style_media', p[0], p[1]);
-                       addSelectValue(f, 'element_link_media', p[0], p[1]);
-               }
-       }
-
-       // Setup encodings select box
-       encodings = ed.getParam("fullpage_encodings", defaultEncodings).split(',');
-       for (i=0; i<encodings.length; i++) {
-               p = encodings[i].split('=');
-
-               if (p.length > 1) {
-                       addSelectValue(f, 'docencoding', p[0], p[1]);
-                       addSelectValue(f, 'element_script_charset', p[0], p[1]);
-                       addSelectValue(f, 'element_link_charset', p[0], p[1]);
-               }
-       }
-
-       document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
-       document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color');
-       //document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color');
-       document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color');
-       document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color');
-       document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor');
-       document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage');
-       document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage');
-       document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage');
-       document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage');
-
-       // Resize some elements
-       if (isVisible('stylesheetbrowser'))
-               document.getElementById('stylesheet').style.width = '220px';
-
-       if (isVisible('link_href_browser'))
-               document.getElementById('element_link_href').style.width = '230px';
-
-       if (isVisible('bgimage_browser'))
-               document.getElementById('bgimage').style.width = '210px';
-
-       // Add iframe
-       dom.add(document.body, 'iframe', {id : 'documentIframe', src : 'javascript:""', style : {display : 'none'}});
-       doc = dom.get('documentIframe').contentWindow.document;
-       h = tinyMCEPopup.getWindowArg('head_html');
-
-       // Preprocess the HTML disable scripts and urls
-       h = h.replace(/<script>/gi, '<script type="text/javascript">');
-       h = h.replace(/type=([\"\'])?/gi, 'type=$1-mce-');
-       h = h.replace(/(src=|href=)/g, '_mce_$1');
-
-       // Write in the content in the iframe
-       doc.write(h + '</body></html>');