From: skodak Date: Wed, 22 Apr 2009 04:46:04 +0000 (+0000) Subject: MDL-18910 full support for module intro editor with embedded images X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=4ba2221a09a7947bef3ad499691cc2e9e365d313;p=moodle.git MDL-18910 full support for module intro editor with embedded images --- diff --git a/mod/forum/index.php b/mod/forum/index.php index 7be7884d1e..9c331f2e4f 100644 --- a/mod/forum/index.php +++ b/mod/forum/index.php @@ -153,9 +153,6 @@ /// First, let's process the general forums and build up a display - $introoptions = new object(); - $introoptions->para = false; - if ($generalforums) { foreach ($generalforums as $forum) { $cm = $modinfo->instances['forum'][$forum->id]; @@ -193,7 +190,7 @@ } } - $forum->intro = shorten_text(trim(format_text($forum->intro, $forum->introformat, $introoptions)), $CFG->forum_shortpost); + $forum->intro = shorten_text(format_module_intro('forum', $forum, $cm->id), $CFG->forum_shortpost); $forumname = format_string($forum->name, true);; if ($cm->visible) { @@ -315,8 +312,7 @@ } } - $introoptions->para=false; - $forum->intro = shorten_text(trim(format_text($forum->intro, $forum->introformat, $introoptions)), $CFG->forum_shortpost); + $forum->intro = shorten_text(format_module_intro('forum', $forum, $cm->id), $CFG->forum_shortpost); if ($cm->sectionnum != $currentsection) { $printsection = $cm->sectionnum; diff --git a/mod/forum/mod_form.php b/mod/forum/mod_form.php index b2d049bc5f..d9c7630998 100644 --- a/mod/forum/mod_form.php +++ b/mod/forum/mod_form.php @@ -27,12 +27,7 @@ class mod_forum_mod_form extends moodleform_mod { $mform->setHelpButton('type', array('forumtype', get_string('forumtype', 'forum'), 'forum')); $mform->setDefault('type', 'general'); - $mform->addElement('htmleditor', 'intro', get_string('forumintro', 'forum')); - $mform->setType('intro', PARAM_RAW); - $mform->addRule('intro', get_string('required'), 'required', null, 'client'); - $mform->setHelpButton('intro', array('writing', 'questions', 'richtext2'), false, 'editorhelpbutton'); - - $mform->addElement('format', 'introformat', get_string('format')); + $this->add_intro_editor(true, get_string('forumintro', 'forum')); $options = array(); $options[0] = get_string('no'); @@ -148,7 +143,7 @@ class mod_forum_mod_form extends moodleform_mod { } - function definition_after_data(){ + function definition_after_data() { parent::definition_after_data(); $mform =& $this->_form; $type =& $mform->getElement('type'); @@ -156,13 +151,13 @@ class mod_forum_mod_form extends moodleform_mod { //we don't want to have these appear as possible selections in the form but //we want the form to display them if they are set. - if ($typevalue[0]=='news'){ + if ($typevalue[0]=='news') { $type->addOption(get_string('namenews', 'forum'), 'news'); $type->setHelpButton(array('forumtypenews', get_string('forumtype', 'forum'), 'forum')); $type->freeze(); $type->setPersistantFreeze(true); } - if ($typevalue[0]=='social'){ + if ($typevalue[0]=='social') { $type->addOption(get_string('namesocial', 'forum'), 'social'); $type->freeze(); $type->setPersistantFreeze(true); @@ -170,12 +165,12 @@ class mod_forum_mod_form extends moodleform_mod { } - function data_preprocessing(&$default_values){ - if (empty($default_values['scale'])){ + function data_preprocessing(&$default_values) { + if (empty($default_values['scale'])) { $default_values['assessed'] = 0; } - if (empty($default_values['assessed'])){ + if (empty($default_values['assessed'])) { $default_values['ratingtime'] = 0; } else { $default_values['ratingtime']= @@ -187,17 +182,17 @@ class mod_forum_mod_form extends moodleform_mod { // numbers to be 1, this will not apply unless checkbox is ticked. $default_values['completiondiscussionsenabled']= !empty($default_values['completiondiscussions']) ? 1 : 0; - if(empty($default_values['completiondiscussions'])) { + if (empty($default_values['completiondiscussions'])) { $default_values['completiondiscussions']=1; } $default_values['completionrepliesenabled']= !empty($default_values['completionreplies']) ? 1 : 0; - if(empty($default_values['completionreplies'])) { + if (empty($default_values['completionreplies'])) { $default_values['completionreplies']=1; } $default_values['completionpostsenabled']= !empty($default_values['completionposts']) ? 1 : 0; - if(empty($default_values['completionposts'])) { + if (empty($default_values['completionposts'])) { $default_values['completionposts']=1; } } @@ -239,20 +234,20 @@ class mod_forum_mod_form extends moodleform_mod { } function get_data() { - $data=parent::get_data(); - if(!$data) { + $data = parent::get_data(); + if (!$data) { return false; } // Turn off completion settings if the checkboxes aren't ticked - $autocompletion=!empty($data->completion) && $data->completion==COMPLETION_TRACKING_AUTOMATIC; - if(empty($data->completiondiscussionsenabled) || !$autocompletion) { - $data->completiondiscussions=0; + $autocompletion = !empty($data->completion) && $data->completion==COMPLETION_TRACKING_AUTOMATIC; + if (empty($data->completiondiscussionsenabled) || !$autocompletion) { + $data->completiondiscussions = 0; } - if(empty($data->completionrepliesenabled) || !$autocompletion) { - $data->completionreplies=0; + if (empty($data->completionrepliesenabled) || !$autocompletion) { + $data->completionreplies = 0; } - if(empty($data->completionpostsenabled) || !$autocompletion) { - $data->completionposts=0; + if (empty($data->completionpostsenabled) || !$autocompletion) { + $data->completionposts = 0; } return $data; } diff --git a/mod/forum/post.php b/mod/forum/post.php index 486a620a37..26eab58c8c 100644 --- a/mod/forum/post.php +++ b/mod/forum/post.php @@ -802,10 +802,8 @@ } } } else { - $forum->intro = trim($forum->intro); if (!empty($forum->intro)) { - $options = (object)array('noclean'=>true); - print_box(format_text($forum->intro, $forum->introformat, $options), 'generalbox', 'intro'); + print_box(format_module_intro('forum', $forum, $cm->id), 'generalbox', 'intro'); } } diff --git a/mod/forum/rsslib.php b/mod/forum/rsslib.php index 4d7a3392db..8a9cb76d80 100644 --- a/mod/forum/rsslib.php +++ b/mod/forum/rsslib.php @@ -122,7 +122,7 @@ //First all rss feeds common headers $header = rss_standard_header(strip_tags(format_string($forum->name,true)), $CFG->wwwroot."/mod/forum/view.php?f=".$forum->id, - format_string($forum->intro,true)); + format_string($forum->intro,true)); // TODO: fix format //Now all the rss items if (!empty($header)) { $articles = rss_add_items($items); diff --git a/mod/forum/view.php b/mod/forum/view.php index 04ab3bf307..d4f4dc8981 100644 --- a/mod/forum/view.php +++ b/mod/forum/view.php @@ -203,8 +203,6 @@ notify(get_string('qandanotify','forum')); } - $forum->intro = trim($forum->intro); - switch ($forum->type) { case 'single': if (! $discussion = $DB->get_record("forum_discussions", array("forum" => $forum->id))) { @@ -232,10 +230,7 @@ case 'eachuser': if (!empty($forum->intro)) { - $options = new stdclass; - $options->para = false; - $options->noclean = true; - print_box(format_text($forum->intro, $forum->introformat, $options), 'generalbox', 'intro'); + print_box(format_module_intro('forum', $forum, $cm->id), 'generalbox', 'intro'); } echo '

'; if (forum_user_can_post_discussion($forum, null, -1, $cm)) { @@ -261,10 +256,7 @@ default: if (!empty($forum->intro)) { - $options = new stdclass; - $options->para = false; - $options->noclean = true; - print_box(format_text($forum->intro, $forum->introformat, $options), 'generalbox', 'intro'); + print_box(format_module_intro('forum', $forum, $cm->id), 'generalbox', 'intro'); } echo '
'; if (!empty($showall)) { diff --git a/mod/glossary/mod_form.php b/mod/glossary/mod_form.php index cba8c0102d..bed2930123 100644 --- a/mod/glossary/mod_form.php +++ b/mod/glossary/mod_form.php @@ -19,10 +19,7 @@ class mod_glossary_mod_form extends moodleform_mod { } $mform->addRule('name', null, 'required', null, 'client'); - $mform->addElement('htmleditor', 'intro', get_string('description')); - $mform->setType('intro', PARAM_RAW); - $mform->addRule('intro', get_string('required'), 'required', null, 'client'); - $mform->setHelpButton('intro', array('writing', 'questions', 'text2'), false, 'editorhelpbutton'); + $this->add_intro_editor(true); $mform->addElement('text', 'entbypage', get_string('entbypage', 'glossary')); $mform->setDefault('entbypage', 10); diff --git a/mod/glossary/rsslib.php b/mod/glossary/rsslib.php index 596b7ab248..3d54aff640 100644 --- a/mod/glossary/rsslib.php +++ b/mod/glossary/rsslib.php @@ -108,7 +108,7 @@ //First all rss feeds common headers $header = rss_standard_header(format_string($glossary->name,true), $CFG->wwwroot."/mod/glossary/view.php?g=".$glossary->id, - format_string($glossary->intro,true)); + format_string($glossary->intro,true)); //TODO: fix format //Now all the rss items if (!empty($header)) { $articles = rss_add_items($items); diff --git a/mod/glossary/view.php b/mod/glossary/view.php index 58367404ed..6ee0de7e43 100644 --- a/mod/glossary/view.php +++ b/mod/glossary/view.php @@ -322,11 +322,8 @@ } /// Info box - if ( $glossary->intro && $showcommonelements ) { - $options = new stdclass; - $options->para = false; - $options->noclean = true; - print_box(format_text($glossary->intro, $glossary->introformat, $options), 'generalbox', 'intro'); + if ($glossary->intro && $showcommonelements) { + print_box(format_module_intro('glossary', $glossary, $cm->id), 'generalbox', 'intro'); } /// Search box