]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-18910 full support for module intro editor with embedded images
authorskodak <skodak>
Wed, 22 Apr 2009 04:46:04 +0000 (04:46 +0000)
committerskodak <skodak>
Wed, 22 Apr 2009 04:46:04 +0000 (04:46 +0000)
mod/forum/index.php
mod/forum/mod_form.php
mod/forum/post.php
mod/forum/rsslib.php
mod/forum/view.php
mod/glossary/mod_form.php
mod/glossary/rsslib.php
mod/glossary/view.php

index 7be7884d1e242a444bece516cff3f250866b93d2..9c331f2e4f5f0f53ee9b8901bfd13c036b93f808 100644 (file)
 
     /// 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];
                 }
             }
 
-            $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) {
                     }
                 }
 
-                $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;
index b2d049bc5f0bf361270deb782220ee10c3772d4f..d9c7630998171a0e7809fd32a749e289fef2a2b5 100644 (file)
@@ -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;
     }
index 486a620a37f102bf76206e3d1dde3c75fdaf11eb..26eab58c8c9ec6680f7b49e9dd49ba605131046e 100644 (file)
             }
         }
     } 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');
         }
     }
 
index 4d7a3392dbb2405d2c05a5b1870ee8cb11a6a3de..8a9cb76d80701d2bfb9c9b37e7be0110efc74038 100644 (file)
                     //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);
index 04ab3bf30704b9ff716e6ffa11c33f8abd1876b4..d4f4dc898161df27ddedf5fb747be83004f120d8 100644 (file)
         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))) {
 
         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 '<p class="mdl-align">';
             if (forum_user_can_post_discussion($forum, null, -1, $cm)) {
 
         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 '<br />';
             if (!empty($showall)) {
index cba8c0102d19d3248851620753ebc71a5ee65a94..bed29301239f8bea0c9a770a5c219752df6aef7c 100644 (file)
@@ -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);
index 596b7ab2484bf9047a1235c2166d81d37413bc1b..3d54aff64073566d5e10da70c4e692f9a4830469 100644 (file)
                     //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);
index 58367404ed3e4043724701ee085653bf6cd71532..6ee0de7e43890f5d62d71cb5af6ab1a387cef4d0 100644 (file)
     }
 
 /// 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