function displaydir($wdir)
{
    //  $wdir == / or /a or /a/b/c/d  etc
    global $basedir;
    global $id;
    global $USER, $CFG;
    global $choose;
    $fullpath = $basedir . $wdir;
    check_dir_exists($fullpath, true);
    $directory = opendir($fullpath);
    // Find all files
    while (false !== ($file = readdir($directory))) {
        if ($file == "." || $file == "..") {
            continue;
        }
        if (is_dir($fullpath . "/" . $file)) {
            $dirlist[] = $file;
        } else {
            $filelist[] = $file;
        }
    }
    closedir($directory);
    $strname = get_string("name");
    $strsize = get_string("size");
    $strmodified = get_string("modified");
    $straction = get_string("action");
    $strmakeafolder = get_string("makeafolder");
    $struploadafile = get_string("uploadafile");
    $strwithchosenfiles = get_string("withchosenfiles");
    $strmovetoanotherfolder = get_string("movetoanotherfolder");
    $strmovefilestohere = get_string("movefilestohere");
    $strdeletecompletely = get_string("deletecompletely");
    $strcreateziparchive = get_string("createziparchive");
    $strrename = get_string("rename");
    $stredit = get_string("edit");
    $strunzip = get_string("unzip");
    $strlist = get_string("list");
    $strrestore = get_string("restore");
    $strchoose = get_string("choose");
    $prop = null;
    $prop->action = "index.php";
    $prop->method = "post";
    $prop->id = "dirform";
    wiki_form_start($prop);
    wiki_div_start();
    $prop = null;
    $prop->name = "choose";
    $prop->value = $choose;
    wiki_input_hidden($prop);
    wiki_hr();
    $prop = null;
    $prop->border = "0";
    $prop->spacing = "2";
    $prop->padding = "2";
    $prop->width = "640";
    $prop->class = "files";
    $prop->header = true;
    $prop->styleth = "width:5%";
    wiki_table_start($prop);
    $prop = null;
    $prop->header = true;
    $prop->align = "left";
    $prop->class = "header name";
    wiki_change_column($prop);
    echo $strname;
    $prop = null;
    $prop->header = true;
    $prop->align = "right";
    $prop->class = "header size";
    wiki_change_column($prop);
    echo $strsize;
    $prop = null;
    $prop->header = true;
    $prop->align = "right";
    $prop->class = "header date";
    wiki_change_column($prop);
    echo $strmodified;
    $prop = null;
    $prop->header = true;
    $prop->align = "right";
    $prop->class = "header commands";
    wiki_change_column($prop);
    echo $straction;
    if ($wdir == "/") {
        $wdir = "";
    }
    if (!empty($wdir)) {
        $dirlist[] = '..';
    }
    $count = 0;
    $header = true;
    if (!empty($dirlist)) {
        asort($dirlist);
        foreach ($dirlist as $dir) {
            if ($header) {
                $header = false;
                $prop = null;
                $prop->header = true;
            } else {
                $prop = null;
            }
            if ($dir == '..') {
                $fileurl = rawurlencode(dirname($wdir));
                $prop->style = "white-space: nowrap;";
                $prop->align = "center";
                $prop->classtr = "folder";
                wiki_change_row($prop);
                echo ' ';
                $prop = null;
                $prop->class = 'name';
                $prop->align = 'left';
                $prop->style = "white-space: nowrap;";
                wiki_change_column($prop);
                $prop = null;
                $prop->src = $CFG->pixpath . '/f/parent.gif';
                $prop->height = "16";
                $prop->width = "16";
                $prop->alt = get_string('parentfolder');
                $out = wiki_img($prop, true);
                $prop = null;
                $prop->href = 'index.php?id=' . $id . '&wdir=' . $fileurl;
                wiki_a($out, $prop);
                $prop = null;
                $prop->href = 'index.php?id=' . $id . '&wdir=' . $fileurl;
                wiki_a(get_string('parentfolder'), $prop);
                wiki_change_column();
                echo ' ';
                wiki_change_column();
                echo ' ';
                wiki_change_column();
                echo ' ';
            } else {
                $count++;
                $filename = $fullpath . "/" . $dir;
                $fileurl = rawurlencode($wdir . "/" . $dir);
                $filesafe = rawurlencode($dir);
                $filesize = display_size(get_directory_size("{$fullpath}/{$dir}"));
                $filedate = userdate(filemtime($filename), "%d %b %Y, %I:%M %p");
                $prop->align = "center";
                $prop->style = "white-space: nowrap;";
                $prop->class = "checkbox";
                $prop->classtr = "folder";
                wiki_change_row($prop);
                $prop = null;
                $prop->name = 'file' . $count;
                $prop->value = $fileurl;
                wiki_input_checkbox($prop);
                $prop = null;
                $prop->class = 'name';
                $prop->align = "left";
                $prop->style = "white-space: nowrap;";
                wiki_change_column($prop);
                $prop = null;
                $prop->src = $CFG->pixpath . '/f/folder.gif';
                $prop->height = "16";
                $prop->width = "16";
                $prop->alt = "Folder";
                $out = wiki_img($prop, true);
                $prop = null;
                $prop->href = 'index.php?id=' . $id . '&wdir=' . $fileurl . '&choose=' . $choose;
                wiki_a($out, $prop);
                $prop = null;
                $prop->href = 'index.php?id=' . $id . '&wdir=' . $fileurl . '&choose=' . $choose;
                wiki_a(htmlspecialchars($dir), $prop);
                $prop = null;
                $prop->class = 'size';
                $prop->align = "right";
                $prop->style = "white-space: nowrap;";
                wiki_change_column($prop);
                echo $filesize;
                $prop = null;
                $prop->class = 'date';
                $prop->align = "right";
                $prop->style = "white-space: nowrap;";
                wiki_change_column($prop);
                echo $filedate;
                $prop = null;
                $prop->class = 'commands';
                $prop->align = "right";
                $prop->style = "white-space: nowrap;";
                wiki_change_column($prop);
                $prop = null;
                $prop->href = 'index.php?id=' . $id . '&wdir=' . $wdir . '&file=' . $filesafe . '&action=rename&choose=' . $choose;
                wiki_a($strrename, $prop);
                //echo "<a href=\"index.php?id=$id&amp;wdir=$wdir&amp;file=$filesafe&amp;action=rename&amp;choose=$choose\">$strrename</a>";
            }
        }
    }
    if (!empty($filelist)) {
        asort($filelist);
        foreach ($filelist as $file) {
            $icon = mimeinfo("icon", $file);
            $count++;
            $filename = $fullpath . "/" . $file;
            $fileurl = "{$wdir}/{$file}";
            $filesafe = rawurlencode($file);
            $fileurlsafe = rawurlencode($fileurl);
            $filedate = userdate(filemtime($filename), "%d %b %Y, %I:%M %p");
            if (substr($fileurl, 0, 1) == '/') {
                $selectfile = substr($fileurl, 1);
            } else {
                $selectfile = $fileurl;
            }
            if ($header) {
                $header = false;
                $prop = null;
                $prop->header = true;
            } else {
                $prop = null;
            }
            $prop->align = "center";
            $prop->style = "white-space: nowrap;";
            $prop->class = "checkbox";
            $prop->classtr = "file";
            wiki_change_row($prop);
            $prop = null;
            $prop->name = 'file' . $count;
            $prop->value = $fileurl;
            wiki_input_checkbox($prop);
            $prop = null;
            $prop->align = "left";
            $prop->class = "name nwikileftnow";
            wiki_change_column($prop);
            if ($CFG->slasharguments) {
                $ffurl = "/file.php/" . $id . $fileurl;
            } else {
                $ffurl = "/file.php?file=/" . $id . $fileurl;
            }
            link_to_popup_window($ffurl, "display", "<img src=\"{$CFG->pixpath}/f/{$icon}\" height=\"16\" width=\"16\" alt=\"File\" />", 480, 640);
            echo '&nbsp;';
            link_to_popup_window($ffurl, "display", htmlspecialchars($file), 480, 640);
            $file_size = filesize($filename);
            $prop = null;
            $prop->class = 'size';
            $prop->align = "right";
            $prop->style = "white-space: nowrap;";
            wiki_change_column($prop);
            echo display_size($file_size);
            $prop = null;
            $prop->class = 'date';
            $prop->align = "right";
            $prop->style = "white-space: nowrap;";
            wiki_change_column($prop);
            echo $filedate;
            if ($choose) {
                $edittext = "<b><a onMouseDown=\"return set_value('{$selectfile}')\" href=\"\">{$strchoose}</a></b>&nbsp;";
            } else {
                $edittext = '';
            }
            if ($icon == "text.gif" || $icon == "html.gif") {
                $edittext .= "<a href=\"index.php?id={$id}&amp;wdir={$wdir}&amp;file={$fileurl}&amp;action=edit&amp;choose={$choose}\">{$stredit}</a>";
            } else {
                if ($icon == "zip.gif") {
                    $edittext .= "<a href=\"index.php?id={$id}&amp;wdir={$wdir}&amp;file={$fileurl}&amp;action=unzip&amp;sesskey={$USER->sesskey}&amp;choose={$choose}\">{$strunzip}</a>&nbsp;";
                    $edittext .= "<a href=\"index.php?id={$id}&amp;wdir={$wdir}&amp;file={$fileurl}&amp;action=listzip&amp;sesskey={$USER->sesskey}&amp;choose={$choose}\">{$strlist}</a> ";
                }
            }
            $prop = null;
            $prop->class = 'commands';
            $prop->align = "right";
            $prop->style = "white-space: nowrap;";
            wiki_change_column($prop);
            echo $edittext;
            echo "<a href=\"index.php?id={$id}&amp;wdir={$wdir}&amp;file={$filesafe}&amp;action=rename&amp;choose={$choose}\">{$strrename}</a>";
        }
    }
    if ($header) {
        $prop = null;
        $prop->header = true;
        wiki_table_end($prop);
        $header = false;
    } else {
        wiki_table_end();
    }
    wiki_hr();
    if (empty($wdir)) {
        $wdir = "/";
    }
    $prop = null;
    $prop->name = "id";
    $prop->value = $id;
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = "choose";
    $prop->value = $choose;
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = "wdir";
    $prop->value = $wdir;
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = "sesskey";
    $prop->value = $USER->sesskey;
    wiki_input_hidden($prop);
    $options = array("move" => "{$strmovetoanotherfolder}", "delete" => "{$strdeletecompletely}", "zip" => "{$strcreateziparchive}");
    if (!empty($count)) {
        choose_from_menu($options, "action", "", "{$strwithchosenfiles}...", "javascript:document.forms['dirform'].submit()");
    }
    wiki_div_end();
    wiki_form_end();
    $prop = null;
    $prop->border = "0";
    $prop->spacing = "2";
    $prop->padding = "2";
    $prop->class = "boxalignright";
    $prop->aligntd = "center";
    wiki_table_start($prop);
    if (!empty($USER->fileop) and $USER->fileop == "move" and $USER->filesource != $wdir) {
        $prop = null;
        $prop->action = "index.php";
        $prop->method = "get";
        wiki_form_start($prop);
        wiki_div_start();
        $prop = null;
        $prop->name = "choose";
        $prop->value = $choose;
        wiki_input_hidden($prop);
        $prop = null;
        $prop->name = "id";
        $prop->value = $id;
        wiki_input_hidden($prop);
        $prop = null;
        $prop->name = "wdir";
        $prop->value = $wdir;
        wiki_input_hidden($prop);
        $prop = null;
        $prop->name = "action";
        $prop->value = "paste";
        wiki_input_hidden($prop);
        $prop = null;
        $prop->name = "sesskey";
        $prop->value = $USER->sesskey;
        wiki_input_hidden($prop);
        $prop = null;
        $prop->value = $strmovefilestohere;
        wiki_input_submit($prop);
        wiki_div_end();
        wiki_form_end();
        $prop = null;
        $prop->align = "right";
        wiki_change_column($prop);
    }
    $prop = null;
    $prop->action = "index.php";
    $prop->method = "get";
    wiki_form_start($prop);
    wiki_div_start();
    $prop = null;
    $prop->name = "choose";
    $prop->value = $choose;
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = "id";
    $prop->value = $id;
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = "wdir";
    $prop->value = $wdir;
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = "action";
    $prop->value = "mkdir";
    wiki_input_hidden($prop);
    $prop = null;
    $prop->value = $strmakeafolder;
    wiki_input_submit($prop);
    wiki_div_end();
    wiki_form_end();
    $prop = null;
    $prop->align = "right";
    wiki_change_column($prop);
    $prop = null;
    $prop->action = "index.php";
    $prop->method = "get";
    wiki_form_start($prop);
    wiki_div_start();
    $prop = null;
    $prop->name = "choose";
    $prop->value = $choose;
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = "id";
    $prop->value = $id;
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = "wdir";
    $prop->value = $wdir;
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = "action";
    $prop->value = "upload";
    wiki_input_hidden($prop);
    $prop = null;
    $prop->value = $struploadafile;
    wiki_input_submit($prop);
    wiki_div_end();
    wiki_form_end();
    wiki_table_end();
    wiki_hr();
}
/** Prints the code that sets the wiki page grade 
 *  evaluation box.
 *
 * @param  Object $WS       WikiStorage
 */
function wiki_grade_print_page_evaluation_box(&$WS)
{
    global $USER;
    // evaluation box available only in view tab
    if ($WS->pageaction != 'view') {
        return;
    }
    if (!wiki_grade_got_permission($WS)) {
        return;
    }
    $wiki = get_record('wiki', 'id', $WS->cm->instance);
    if (!$wiki) {
        return;
    }
    $scale = get_record('scale', 'id', (int) $wiki->notetype);
    if (isset($scale) && $scale != false) {
        print_box_start();
        $prop = null;
        $prop->id = "form_grades";
        $prop->method = "post";
        $prop->action = 'view.php?id=' . $WS->linkid . '&amp;page=view/' . stripslashes_safe($WS->page) . '&amp;ver=' . $WS->ver . '&amp;gid=' . $WS->groupmember->groupid . '&amp;uid=' . $WS->member->id;
        wiki_form_start($prop);
        $prop = null;
        $prop->class = "evaluationbox";
        wiki_div_start($prop);
        $prop = null;
        //$prop->spacing = "40";
        $prop->padding = "2";
        //$prop->valigntd = "top";
        $prop->aligntd = "right";
        //$prop->border = 1;
        wiki_table_start($prop);
        echo '<b>' . get_string('grade') . '</b>:&nbsp;';
        wiki_change_column();
        $scale = wiki_grade_scale_box($scale, true);
        $eval_instance = wiki_grade_evaluation_exist($WS->page, $WS->dfwiki->id, $WS->groupmember->groupid, $WS->member->id, $USER->id);
        if ($scale) {
            echo '&nbsp;';
            $prop = null;
            $prop->name = 'grade_post_evaluation';
            $prop->value = get_string('set', 'wiki');
            wiki_input_submit($prop);
            echo '&nbsp;';
            $context = get_context_instance(CONTEXT_MODULE, $WS->cm->id);
            if ((has_capability('mod/wiki:authorreview', $context) || has_capability('mod/wiki:mainreview', $context)) && $eval_instance != false) {
                echo '<i>(' . get_string('eval_current', 'wiki') . ' "' . trim($scale[$eval_instance->wikigrade - 1]) . '")</i>';
            }
        } else {
            echo 'grades.lib.php: there is no wikigrade yet.';
        }
        wiki_change_row();
        echo '<b>' . get_string('eval_feedback', 'wiki') . '</b>:&nbsp';
        wiki_change_column();
        unset($prop);
        $prop->size = 60;
        $prop->value = '';
        if ($eval_instance) {
            $prop->value = $eval_instance->comment;
        }
        $prop->name = "grade_commentary";
        wiki_input_text($prop);
        $prop->align = 'right';
        wiki_change_row($prop);
        wiki_change_column();
        $prop = null;
        $prop->name = 'grade_appendtodiscussion';
        wiki_input_checkbox($prop);
        $a->link = 'view.php?id=' . $WS->cm->id . '&amp;gid=' . $WS->groupmember->groupid . '&amp;uid=' . $WS->member->id . '&amp;page=discussion/discussion:' . urlencode($WS->page);
        echo get_string('eval_append_to_disc', 'wiki', $a);
        $prop->align = 'right';
        wiki_change_row($prop);
        wiki_change_column();
        $prop = null;
        $prop->name = 'grade_anonymous';
        wiki_input_checkbox($prop);
        echo get_string('eval_anonymous', 'wiki');
        wiki_table_end();
        wiki_div_end();
        wiki_form_end();
        print_box_end();
    }
}
 wiki_select($opt, $prop);
 wiki_table_end();
 // Table font header
 wiki_change_row();
 // Table parameter
 unset($prop);
 $prop->class = "box";
 wiki_table_start($prop);
 // Table question footer
 unset($prop);
 $prop->class = "boxalignleft";
 wiki_paragraph(get_string('wikibooks_footer_question', 'wiki'));
 wiki_change_column();
 unset($prop);
 $prop->name = "with_footer";
 wiki_input_checkbox($prop);
 wiki_table_end();
 // Table question footer
 wiki_change_row();
 // Table parameter
 wiki_br();
 //////////////////////////////////////////////////////////////////////////////////////////////////////////
 wiki_change_row();
 // Table parameter
 wiki_br();
 unset($prop);
 $prop->name = "continue";
 $prop->id = "continue_pdf";
 $prop->value = get_string('continue');
 wiki_input_submit($prop);
 wiki_table_end();
function wiki_export_content(&$WS, $folder = 'exportedfiles')
{
    global $CFG, $contents;
    $export = optional_param('dfformexport', NULL, PARAM_ALPHA);
    $exportall = optional_param('dfformexportall', NULL, PARAM_ALPHA);
    //check if the form was filled in
    if (isset($export) || isset($exportall)) {
        //make sure the file doesn't exist
        $dfformname = optional_param('dfformname', NULL, PARAM_FILE);
        $currentname = clean_filename($dfformname);
        $cleandfwiki = clean_filename($WS->dfwiki->name);
        if (file_exists($CFG->dataroot . "/" . $WS->dfwiki->course . "/" . $folder . "/" . $cleandfwiki . $WS->cm->id . "/" . $currentname)) {
            $err = $currentname . ' already exists!';
            error($err);
        } else {
            //export to xml
            wiki_export_content_XML($WS);
            $prop = null;
            $prop->class = 'textcenter';
            $info = wiki_size_text(get_string("exportcorrectly", 'wiki'), 2, '', true);
            wiki_div($info, $prop);
            //make the zip
            $files = array();
            //copy files inside temp where is the xml
            check_dir_exists("{$CFG->dataroot}/temp/" . $folder . "/wiki{$WS->cm->id}", true);
            check_dir_exists("{$CFG->dataroot}/{$WS->dfwiki->course}/moddata/wiki{$WS->cm->id}", true);
            $flist = list_directories_and_files("{$CFG->dataroot}/{$WS->dfwiki->course}/moddata/wiki{$WS->cm->id}");
            if ($flist != null) {
                foreach ($flist as $fil) {
                    $from_file = "{$CFG->dataroot}/{$WS->dfwiki->course}/moddata/wiki{$WS->cm->id}/{$fil}";
                    $to_file = "{$CFG->dataroot}/temp/" . $folder . "/wiki{$WS->cm->id}/{$fil}";
                    copy($from_file, $to_file);
                }
            }
            //continue compressing
            $filelist = list_directories_and_files("{$CFG->dataroot}/temp/" . $folder . "/wiki{$WS->cm->id}");
            foreach ($filelist as $file) {
                $files[] = "{$CFG->dataroot}/temp/" . $folder . "/wiki{$WS->cm->id}/{$file}";
            }
            check_dir_exists("{$CFG->dataroot}/{$WS->dfwiki->course}/" . $folder, true);
            check_dir_exists("{$CFG->dataroot}/{$WS->dfwiki->course}/" . $folder . "/{$cleandfwiki}{$WS->cm->id}", true);
            $destination = "{$CFG->dataroot}/{$WS->dfwiki->course}/" . $folder . "/{$cleandfwiki}{$WS->cm->id}/{$currentname}";
            $status = zip_files($files, $destination);
            //delete folder inside temp that we've created
            $filelist2 = list_directories_and_files("{$CFG->dataroot}/temp/" . $folder . "/wiki{$WS->cm->id}");
            foreach ($filelist2 as $file2) {
                unlink("{$CFG->dataroot}/temp/" . $folder . "/wiki{$WS->cm->id}/{$file2}");
            }
            rmdir("{$CFG->dataroot}/temp/" . $folder . "/wiki{$WS->cm->id}");
            $prop = null;
            $prop->border = '0';
            $prop->class = 'boxaligncenter';
            $prop->classtd = 'nwikileftnow';
            wiki_table_start($prop);
            $wdir = '/' . $folder . '/' . $cleandfwiki . $WS->cm->id;
            $fileurl = "{$wdir}/{$currentname}";
            $ffurl = "/file.php?file=/{$WS->cm->course}{$fileurl}";
            $icon = mimeinfo("icon", $currentname);
            $prop = null;
            $prop->src = "{$CFG->pixpath}/f/{$icon}";
            $prop->height = '16';
            $prop->width = '16';
            $prop->alt = 'File';
            $im = wiki_img($prop, true);
            link_to_popup_window($ffurl, "display", $im, 480, 640);
            echo '&nbsp;';
            link_to_popup_window($ffurl, "display", htmlspecialchars($currentname), 480, 640);
            $prop = null;
            $prop->class = 'nwikileftnow';
            wiki_change_row($prop);
            wiki_table_end();
            $prop = null;
            $prop->border = '0';
            $prop->class = 'boxaligncenter';
            $prop->classtd = 'nwikileftnow';
            wiki_table_start($prop);
            $prop = null;
            $prop->action = 'index.php?id=' . $WS->dfwiki->course . '&amp;wdir=/"' . $folder;
            $prop->method = 'post';
            $prop->id = 'form';
            wiki_form_start($prop);
            $prop = null;
            $prop->name = 'dfformviewexported';
            $prop->value = get_string('viewexported', 'wiki');
            $input = wiki_input_submit($prop, true);
            wiki_div($input);
            wiki_form_end();
            wiki_change_column();
            print_continue("{$CFG->wwwroot}/mod/wiki/view.php?id={$WS->cm->id}");
            wiki_table_end();
        }
    } else {
        //create the form to export
        //first of all treat the form that we've sended about the pages to export
        if (!($frm = data_submitted())) {
            $contents = null;
            $contentsall = get_records_sql('SELECT DISTINCT pagename,dfwiki
				FROM ' . $CFG->prefix . 'wiki_pages
				WHERE dfwiki=' . $WS->dfwiki->id);
            if ($contentsall != null) {
                foreach ($contentsall as $call) {
                    $contents[] = $call->pagename;
                }
            }
            $WS->nocontents = null;
        } else {
            if (!empty($frm->addall)) {
                $contents = null;
                $contentsall = get_records_sql('SELECT DISTINCT pagename,dfwiki
				FROM ' . $CFG->prefix . 'wiki_pages
				WHERE dfwiki=' . $WS->dfwiki->id);
                if ($contentsall != null) {
                    foreach ($contentsall as $call) {
                        $contents[] = $call->pagename;
                    }
                }
                $WS->nocontents = null;
            } else {
                if (!empty($frm->removeall)) {
                    $WS->nocontents = null;
                    $nocontentsall = get_records_sql('SELECT DISTINCT pagename,dfwiki
				FROM ' . $CFG->prefix . 'wiki_pages
				WHERE dfwiki=' . $WS->dfwiki->id);
                    if ($nocontentsall != null) {
                        foreach ($nocontentsall as $nocall) {
                            $WS->nocontents[] = $nocall->pagename;
                        }
                    }
                    $contents = null;
                } else {
                    $contents = null;
                    $WS->nocontents = null;
                    for ($i = 0; $i < $frm->sizecontents; $i++) {
                        $contents[] = $frm->contents[$i];
                    }
                    for ($j = 0; $j < $frm->sizenocontents; $j++) {
                        $WS->nocontents[] = $frm->nocontents[$j];
                    }
                    if (!empty($frm->add) and !empty($frm->addselect)) {
                        foreach ($frm->addselect as $addpage) {
                            $contents[] = $addpage;
                            wiki_remove_nocontents($addpage, $WS);
                        }
                    } else {
                        if (!empty($frm->remove) and !empty($frm->removeselect)) {
                            foreach ($frm->removeselect as $removepage) {
                                $WS->nocontents[] = $removepage;
                                wiki_remove_contents($removepage);
                            }
                        }
                    }
                }
            }
        }
        $prop = null;
        $prop->class = 'textcenter';
        $info = wiki_size_text(get_string("selectpages", 'wiki'), 2, '', true);
        wiki_div($info, $prop);
        include 'pages.html';
        wiki_div_end();
        $prop = null;
        $prop->class = 'box generalbox generalboxcontent boxaligncenter textcenter';
        wiki_div_start($prop);
        $prop = null;
        $prop->action = 'exportxml.php?id=' . $WS->cm->id . '&amp;pageaction=exportxml';
        $prop->method = 'post';
        $prop->id = 'form';
        wiki_form_start($prop);
        $prop = null;
        $prop->border = '0';
        $prop->class = 'boxaligncenter';
        $prop->classtd = 'textcenter';
        wiki_table_start($prop);
        $sizecon = count($WS->nocontents);
        for ($i = 0; $i < $sizecon; $i++) {
            $prop = null;
            $prop->name = 'dfform[' . $WS->nocontents[$i] . ']';
            $prop->value = $WS->nocontents[$i];
            wiki_input_hidden($prop);
        }
        $prop = null;
        $prop->class = 'textcenter';
        $info = wiki_size_text(get_string("otheroptions", 'wiki'), 2, '', true);
        wiki_div($info, $prop);
        $cleandfwiki = clean_filename($WS->dfwiki->name);
        $times = time();
        $prop = null;
        $prop->class = 'nwikileftnow';
        wiki_change_row($prop);
        $prop = null;
        $prop->name = 'dfforminfo';
        $prop->value = '1';
        wiki_input_checkbox($prop);
        print_string('exportinfo', 'wiki');
        $prop = null;
        $prop->class = 'nwikileftnow';
        wiki_change_row($prop);
        $prop = null;
        $prop->name = 'dfformblocks';
        $prop->value = '1';
        wiki_input_checkbox($prop);
        print_string('blocks', 'wiki');
        $prop = null;
        $prop->class = 'nwikicenternow';
        wiki_change_row($prop);
        $info = get_string('saveas', 'wiki');
        $prop = null;
        $prop->name = 'dfformname';
        $prop->value = $cleandfwiki . '-' . $times . '.zip';
        $info .= wiki_input_text($prop, true);
        wiki_paragraph($info, '');
        $prop = null;
        $prop->class = 'nwikicenternow';
        wiki_change_row($prop);
        $prop = null;
        $prop->name = 'dfformexport';
        $prop->value = get_string('export', 'wiki');
        wiki_input_submit($prop);
        $prop = null;
        $prop->name = 'dfformexportall';
        $prop->value = get_string('exportall', 'wiki');
        wiki_input_submit($prop);
        $prop = null;
        $prop->name = 'dfformcancel';
        $prop->value = get_string('cancel');
        wiki_input_submit($prop);
        wiki_table_end();
        wiki_form_end();
    }
}
function wiki_print_editor(&$content_text, $adddiscussion = '0', $addtitle = '', $oldcontent = '', &$WS)
{
    global $CFG, $USER;
    //show upload error @@@@@@@@
    //try to delete a file
    wiki_print_editor_setup($WS);
    require_once $CFG->dirroot . "/mod/wiki/weblib.php";
    require_once $CFG->dirroot . "/mod/wiki/locallib.php";
    //Scritp WIKI_TREE
    $prop = null;
    $prop->type = 'text/javascript';
    if (isset($WS->dfcourse)) {
        $prop->src = '../mod/wiki/editor/wiki_tree.js';
    } else {
        $prop->src = 'editor/wiki_tree.js';
    }
    wiki_script('', $prop);
    if (isset($WS->dfdir->error)) {
        foreach ($WS->dfdir->error as $err) {
            $prop = null;
            $prop->class = 'except';
            wiki_size_text($err, 3, $prop);
        }
    }
    if (substr($WS->pagedata->pagename, 0, strlen('discussion:')) != 'discussion:') {
        $event = 'view';
    } else {
        $event = 'discussion';
    }
    //mount editing form
    //Converts reserved chars for html to prevent chars misreading
    $pagetemp = stripslashes_safe($WS->pagedata->pagename);
    $pagetemp = wiki_clean_name($pagetemp);
    $prop = null;
    $prop->action = 'view.php?id=' . $WS->linkid . '&amp;page=' . $event . '/' . urlencode($pagetemp) . '&amp;gid=' . $WS->groupmember->groupid . '&amp;uid=' . $WS->member->id;
    $prop->method = 'post';
    $prop->enctype = 'multipart/form-data';
    $prop->id = 'prim';
    wiki_form_start($prop);
    wiki_table_start();
    $prop = null;
    $prop->name = 'dfformversion';
    $prop->value = $WS->pagedata->version ? $WS->pagedata->version : '0';
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = 'dfformcreated';
    $prop->value = $WS->pagedata->created;
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = 'dfformeditable';
    $prop->value = $WS->pagedata->editable;
    wiki_input_hidden($prop);
    $prop = null;
    if ($adddiscussion == '1') {
        $prop->value = 'adddiscussion';
    } else {
        $prop->value = 'edit';
    }
    $prop->name = 'dfformaction';
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = 'dfformeditor';
    $prop->value = $WS->pagedata->editor;
    wiki_input_hidden($prop);
    /* necessary for joining the section with the rest of the page */
    // section name
    $section = optional_param('section', '', PARAM_TEXT);
    $prop = null;
    $prop->name = 'section';
    $preview = optional_param('dfformpreview', '', PARAM_TEXT);
    if ($preview != '' || wiki_is_uploading_modified()) {
        // if come from a preview, upload file or delete file
        // the string is already unslashed and encoded
        $prop->value = $section;
    } else {
        // gotta strip the slashes and encode it
        $prop->value = urlencode(stripslashes($section));
    }
    wiki_input_hidden($prop);
    // section number
    $prop = null;
    $prop->name = 'sectionnum';
    $prop->value = optional_param('sectionnum', '', PARAM_INTEGER);
    wiki_input_hidden($prop);
    $prop = null;
    $prop->name = 'sectionhash';
    $prop->value = optional_param('sectionhash', '', PARAM_TEXT);
    wiki_input_hidden($prop);
    // discussion
    if ($adddiscussion == '1') {
        wiki_size_text(get_string('adddiscussionitem', 'wiki'), 2);
        print_string('title', 'wiki');
        wiki_br();
        $prop = null;
        $prop->name = 'dfformaddtitle';
        $prop->value = $addtitle;
        $prop->size = '80';
        wiki_input_text($prop);
        wiki_br(2);
        $prop = null;
        $prop->name = 'dfformoldcontent';
        $prop->value = $oldcontent;
        wiki_input_hidden($prop);
        wiki_hr();
        wiki_change_row();
        date_default_timezone_set('UTC');
        // add editing username and date to the end of each discussion (nadavkav patch)
        $txt = $content_text . '<br/><br/>  <i>(' . get_string('discussioneditby', 'wiki') . ': ' . $USER->firstname . " " . $USER->lastname . " " . get_string('discussionediton', 'wiki') . ": " . date(DATE_RFC822) . ")</i>";
    } else {
        $txt = $content_text;
    }
    // wikibook
    $prop = null;
    $prop->name = 'wikibook';
    $prop->value = optional_param('wikibook', '', PARAM_TEXT);
    wiki_input_hidden($prop);
    wiki_print_edit_area($txt, $WS);
    wiki_tags_print_editbox($WS);
    $prop = null;
    $prop->class = 'nwikileftnow';
    wiki_change_row($prop);
    if ($WS->upload_bar) {
        wiki_print_edit_uploaded($WS);
    }
    wiki_change_row();
    $prop = null;
    $prop->name = 'dfformsave';
    $prop->value = get_string('save', 'wiki');
    wiki_input_submit($prop);
    $prop = null;
    $prop->name = 'dfformpreview';
    $prop->value = get_string('preview');
    wiki_input_submit($prop);
    $prop = null;
    $prop->name = 'dfformcancel';
    $prop->value = get_string('cancel');
    wiki_input_submit($prop);
    $prop = null;
    $prop->name = 'dfformdefinitive';
    $prop->value = '1';
    $prop->id = 'checkbox';
    wiki_input_checkbox($prop);
    print_string('highlight', 'wiki');
    wiki_table_end();
    wiki_form_end();
}