From 97f2eb45a1042e8fe11a4c7e13c15b63f9e4ebea Mon Sep 17 00:00:00 2001 From: Dongsheng Cai Date: Mon, 8 Nov 2010 06:33:00 +0000 Subject: [PATCH] MDL-23395, go straight to page editing page when title is not empyt and forceformat is set --- mod/wiki/create.php | 8 +++----- mod/wiki/create_form.php | 24 +++++++++++++----------- mod/wiki/edit.php | 3 ++- mod/wiki/pagelib.php | 8 ++++++-- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/mod/wiki/create.php b/mod/wiki/create.php index c0b2d1f6b38..19e571f2259 100644 --- a/mod/wiki/create.php +++ b/mod/wiki/create.php @@ -94,15 +94,13 @@ case 'create': $wikipage->create_page($title); break; case 'new': - if (!empty($title)) { - // create page from interlink with pagetitle - $wikipage->print_header(); - $wikipage->print_content($title); + if ((int)$wiki->forceformat == 1 && !empty($title)) { + $wikipage->create_page($title); } else { // create link from moodle navigation block without pagetitle $wikipage->print_header(); // new page without page title - $wikipage->print_content(); + $wikipage->print_content($title); } $wikipage->print_footer(); break; diff --git a/mod/wiki/create_form.php b/mod/wiki/create_form.php index 1f231a21ec8..a6099913473 100644 --- a/mod/wiki/create_form.php +++ b/mod/wiki/create_form.php @@ -44,19 +44,21 @@ class mod_wiki_create_form extends moodleform { } $mform->addElement('text', 'pagetitle', get_string('newpagetitle', 'wiki'), $textoptions); - $mform->addElement('static', 'format', get_string('format', 'wiki')); - $mform->addHelpButton('format', 'format', 'wiki'); - foreach ($formats as $format) { - if ($format == $defaultformat) { - $attr = array('checked'=>'checked'); - }else if (!empty($forceformat)){ + if ($forceformat) { + $mform->addElement('hidden', 'pageformat', $defaultformat); + } else { + $mform->addElement('static', 'format', get_string('format', 'wiki')); + $mform->addHelpButton('format', 'format', 'wiki'); + foreach ($formats as $format) { + if ($format == $defaultformat) { + $attr = array('checked'=>'checked'); + }else if (!empty($forceformat)){ $attr = array('disabled'=>'disabled'); - } else { - $attr = array(); + } else { + $attr = array(); + } + $mform->addElement('radio', 'pageformat', '', get_string('format'.$format, 'wiki'), $format, $attr); } - - $mform->addElement('radio', 'pageformat', '', get_string('format'.$format, 'wiki'), $format, $attr); - } //hiddens diff --git a/mod/wiki/edit.php b/mod/wiki/edit.php index 67c9f2423cd..e720b985307 100644 --- a/mod/wiki/edit.php +++ b/mod/wiki/edit.php @@ -45,7 +45,8 @@ $version = optional_param('version', -1, PARAM_INT); $attachments = optional_param('attachments', 0, PARAM_INT); $deleteuploads = optional_param('deleteuploads', 0, PARAM_RAW); -if (is_array($newcontent)) { +$newconent = ''; +if (!empty($newcontent) && is_array($newcontent)) { $newcontent = $newcontent['text']; } diff --git a/mod/wiki/pagelib.php b/mod/wiki/pagelib.php index 720d11abae2..57728a9b749 100644 --- a/mod/wiki/pagelib.php +++ b/mod/wiki/pagelib.php @@ -942,14 +942,18 @@ class page_wiki_create extends page_wiki { $this->mform->display(); } - function create_page() { + function create_page($pagetitle) { global $USER, $CFG, $PAGE; $data = $this->mform->get_data(); if (empty($this->subwiki)) { $swid = wiki_add_subwiki($PAGE->activityrecord->id, $this->gid, $this->uid); $this->subwiki = wiki_get_subwiki($swid); } - $id = wiki_create_page($this->subwiki->id, $data->pagetitle, $data->pageformat, $USER->id); + if ($data) { + $id = wiki_create_page($this->subwiki->id, $data->pagetitle, $data->pageformat, $USER->id); + } else { + $id = wiki_create_page($this->subwiki->id, $pagetitle, $PAGE->activityrecord->defaultformat, $USER->id); + } redirect($CFG->wwwroot . '/mod/wiki/edit.php?pageid=' . $id); } }