function print_header($title, $morebreadcrumbs = NULL)
 {
     global $USER, $CFG, $WS;
     $this->init_full();
     if ($this->user_allowed_editing()) {
         $buttons = wiki_table_start('', true);
         $buttons .= update_module_button($this->modulerecord->id, $this->courserecord->id, get_string('modulename', 'wiki'));
         if (!empty($CFG->showblocksonmodpages)) {
             $buttons .= wiki_change_column('', true);
             $prop = null;
             $prop->method = "get";
             $prop->action = "view.php";
             $prop->events = 'onsubmit="this.target=\'_top\'; return true"';
             $buttons .= wiki_form_start($prop, true);
             $buttons .= wiki_div_start('', true);
             $prop = null;
             $prop->name = "id";
             $prop->value = $this->modulerecord->id;
             $buttons .= wiki_input_hidden($prop, true);
             $prop = null;
             $prop->name = "edit";
             $prop->value = $this->user_is_editing() ? 'off' : 'on';
             $buttons .= wiki_input_hidden($prop, true);
             $prop = null;
             $prop->value = get_string($this->user_is_editing() ? 'blockseditoff' : 'blocksediton');
             $buttons .= wiki_input_submit($prop, true);
             $buttons .= wiki_div_end(true);
             $buttons .= wiki_form_end(true);
         }
         $buttons .= wiki_table_end('', true);
     } else {
         $buttons = ' ';
     }
     //        print_header($title, $this->courserecord->fullname, $crumbtext, '', '', true, $buttons, navmenu($this->courserecord, $this->modulerecord));
     /// Print header.
     $navlinks = array();
     $navlinks[] = array('name' => get_string('modulenameplural', 'wiki'), 'link' => $CFG->wwwroot . '/mod/wiki/index.php?id=' . $this->courserecord->id, 'type' => 'activity');
     $navlinks[] = array('name' => format_string($this->activityrecord->name), 'link' => "view.php", 'type' => 'activityinstance');
     $navigation = build_navigation($navlinks);
     print_header_simple(format_string($this->activityrecord->name), "", $navigation, "", "", true, $buttons, navmenu($this->courserecord, $WS->cm));
 }
         wiki_input_hidden($prop);
         $i++;
     }
 }
 $sizenocontents = isset($nocontents) ? count($nocontents) : 0;
 $prop = null;
 $prop->name = "sizenocontents";
 $prop->value = $sizenocontents;
 wiki_input_hidden($prop);
 if (isset($nocontents)) {
     $j = 0;
     foreach ($nocontents as $nocontent) {
         $prop = null;
         $prop->name = "nocontents[{$j}]";
         $prop->value = stripslashes($nocontent);
         wiki_input_hidden($prop);
         $j++;
     }
 }
 $prop = null;
 $prop->class = "boxaligncenter";
 wiki_table_start($prop);
 print_string('nopagestopdf', 'wiki');
 wiki_change_column();
 wiki_change_column();
 print_string('pagestopdf', 'wiki');
 wiki_change_row();
 $opt = null;
 $noselec = 0;
 if (isset($contents) & is_array($contents)) {
     foreach ($contents as $cont) {
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();
}
function wiki_print_menu_groups_and_students($listgroups, $listgroupsmembers, &$WS)
{
    //this function prints the groupmode menu with the students
    global $CFG, $COURSE, $USER;
    if (empty($listgroupsmembers)) {
        return;
    }
    $wikimanager = wiki_manager_get_instance();
    $wikipersistor = new wiki_persistor();
    //if we are in visible groups with separate students
    //and the user is not a teacher or admin
    //then we don't take his group in the menu list
    $context = get_context_instance(CONTEXT_MODULE, $WS->cm->id);
    //if((($WS->dfwiki->groupmode == 1) && ($WS->cm->studentmode == 2))
    if (isset($WS->cm->groupmode) && $WS->cm->groupmode == 1 && $WS->dfwiki->studentmode > 0 && !has_capability('mod/wiki:editanywiki', $context)) {
        $usergroupids = $wikipersistor->get_groupid_by_userid_and_courseid($USER->id, $COURSE->id);
        $userid = array();
        foreach ($usergroupids as $usergroup) {
            $userid[] = $usergroup->groupid;
        }
        foreach ($listgroups as $key => $group) {
            if (!in_array($group->id, $userid)) {
                unset($listgroups[$key]);
            }
        }
    }
    if (isset($WS->cm->groupmode) && $WS->cm->groupmode == 1 && $WS->dfwiki->studentmode == 1 && !has_capability('mod/wiki:editanywiki', $context)) {
        foreach ($listgroupsmembers as $key => $member) {
            foreach ($usergroupids as $usergroup) {
                if ($member->groupid == $usergroup->groupid && $member->id != $USER->id) {
                    unset($listgroupsmembers[$key]);
                }
            }
        }
    }
    //if((($WS->dfwiki->groupmode == 2) && ($WS->cm->studentmode == 1))
    if (isset($WS->cm->groupmode) && $WS->cm->groupmode == 2 && $WS->dfwiki->studentmode == 1 && !has_capability('mod/wiki:editanywiki', $context)) {
        //the user group
        $usergroupids = $wikipersistor->get_groupid_by_userid_and_courseid($USER->id, $COURSE->id);
        $listgroups = $wikimanager->get_course_groups($COURSE->id);
        //Course students list without the user group
        //We take the groups, and id, firstname and lastname of the students
        //$listgroupmembers = $wikimanager->get_course_members($COURSE->id);
        foreach ($listgroupsmembers as $key => $member) {
            foreach ($usergroupids as $usergroup) {
                if ($member->groupid == $usergroup->groupid && $member->id != $USER->id) {
                    unset($listgroupsmembers[$key]);
                    //break;
                }
            }
        }
    }
    $cm->id = isset($WS->dfcourse) ? $COURSE->id : $WS->cm->id;
    $prop = null;
    $prop->type = "text/javascript";
    $info = '  //<![CDATA[

    function wiki_select_group(groups, groupstudent){
            var i=0;
            var j=0;
            var k=0;
            var numstudents=0 ;
            var numgroups=0;

            numgroups = groups.length;
            for(i=0; i<numgroups; i++){
                numstudents = groupstudent[i].length;
                for(j=0; j<numstudents; j++){
                    if((document.forms[\'form_sel_group\'].selectstudent.options[k].selected)&&(document.forms[\'form_sel_group\'].selectstudent.options[k].value == groupstudent[i][j])){
                            document.forms[\'form_sel_group\'].selectgroup.value = groups[i];
                    }
                k++;
            }
        }
    }

    var groups = new Array();';
    $ind = 0;
    foreach ($listgroups as $lgroup) {
        $info .= "\n            groups[{$ind}] = '{$lgroup->id}';";
        $ind++;
    }
    if (has_capability('mod/wiki:editawiki', get_context_instance(CONTEXT_MODULE, $cm->id))) {
        $info .= "\n\t\t\tgroups[{$ind}] = '0';";
    } else {
        if (isset($usergroupids)) {
            foreach ($usergroupids as $usergroup) {
                $info .= "\n\t\t\t\t   groups[{$ind}] = '{$usergroup->groupid}';";
            }
        }
    }
    $info .= '
    var groupstudent = new Array();

	//]]>';
    wiki_script($info, $prop);
    $prop = null;
    $prop->border = "0";
    $prop->class = "boxalignright";
    $prop->classtd = "nwikileftnow";
    wiki_table_start($prop);
    $group = get_field('groups_members', 'id', 'groupid', $WS->groupmember->groupid, 'userid', $WS->member->id);
    if (!empty($group) and isset($listgroupsmembers[$group])) {
        echo get_string('viewpagestudent', 'wiki') . $listgroupsmembers[$group]->lastname . ', ' . $listgroupsmembers[$group]->firstname;
        wiki_table_end();
        $prop = null;
        $prop->border = "0";
        $prop->class = "boxalignright";
        $prop->classtd = "nwikileftnow";
        wiki_table_start($prop);
    }
    print_string('anotherstudent', 'wiki');
    wiki_change_column();
    $prop = null;
    $prop->id = "form_sel_group";
    $prop->method = "post";
    $prop->action = 'view.php?id=' . $cm->id;
    wiki_form_start($prop);
    wiki_div_start();
    $i = 0;
    $opt = null;
    $opt2 = null;
    foreach ($listgroups as $lgroup) {
        $liststudentsingroup[$i] = wiki_students_in_a_group($lgroup->id, $listgroupsmembers);
        $j = 0;
        $prop = null;
        $prop->type = "text/javascript";
        $info = "groupstudent[{$i}] = new Array();";
        wiki_script($info, $prop);
        foreach ($liststudentsingroup[$i] as $lstudentsingroup) {
            $prop = null;
            $prop->value = $lstudentsingroup->id;
            $opt .= wiki_option($lstudentsingroup->lastname . ', ' . $lstudentsingroup->firstname, $prop, true);
            $prop = null;
            $prop->type = "text/javascript";
            $info = "groupstudent[{$i}][{$j}]= '{$lstudentsingroup->id}';";
            wiki_script($info, $prop);
            $j++;
        }
        if ($WS->cm->groupmode != 0) {
            $prop = null;
            $prop->label = $lgroup->name;
            $opt2 .= wiki_optgroup($opt, $prop, true);
            $opt = null;
        }
        $i++;
    }
    if (has_capability('mod/wiki:editawiki', get_context_instance(CONTEXT_MODULE, $cm->id))) {
        $prop = null;
        $prop->value = $USER->id;
        $opt .= wiki_option($USER->lastname . ', ' . $USER->firstname, $prop, true);
        $prop = null;
        $prop->type = "text/javascript";
        $info = "groupstudent[{$i}] = new Array(); groupstudent[{$i}][0] = {$USER->id};";
        wiki_script($info, $prop);
        $prop = null;
        $prop->label = "teacher";
        $opt2 .= wiki_optgroup($opt, $prop, true);
        $opt = null;
    } else {
        if (isset($usergroupid)) {
            $prop = null;
            $prop->value = $USER->id;
            $opt .= wiki_option($USER->lastname . ', ' . $USER->firstname, $prop, true);
            $prop = null;
            $prop->type = "text/javascript";
            $info = "groupstudent[{$i}] = new Array(); groupstudent[{$i}][0] = {$USER->id};";
            wiki_script($info, $prop);
            $prop = null;
            $prop->label = "user";
            $opt2 .= wiki_optgroup($opt, $prop, true);
            $opt = null;
        }
    }
    $prop = null;
    $prop->id = "selectstudent";
    $prop->name = "dfformselectstudent";
    $prop->events = 'onchange="javascript:wiki_select_group(groups, groupstudent)"';
    wiki_select($opt2, $prop);
    $prop = null;
    $prop->id = "selectgroup";
    $prop->name = "dfformselectgroup";
    wiki_input_hidden($prop);
    $prop = null;
    $prop->type = "text/javascript";
    $info = "this.wiki_select_group(groups, groupstudent)";
    wiki_script($info, $prop);
    $prop = null;
    $prop->value = get_string("continue");
    wiki_input_submit($prop);
    wiki_div_end();
    wiki_form_end();
    wiki_table_end();
}
function wiki_grade_print_edition_evaluation_box(&$WS)
{
    $context = get_context_instance(CONTEXT_MODULE, $WS->cm->id);
    if (has_capability('mod/wiki:evaluateawiki', $context)) {
        print_box_start();
        $prop = null;
        $prop->id = "form_grades";
        $prop->method = "post";
        $prop->action = 'view.php?id=' . $WS->linkid . '&amp;page=' . urlencode($WS->pageaction . '/' . stripslashes_safe($WS->page)) . '&amp;dfcontent=11&amp;ver=' . $WS->ver . '&amp;gid=' . $WS->groupmember->groupid . '&amp;uid=' . $WS->member->id;
        wiki_form_start($prop);
        $prop = null;
        $prop->padding = "2";
        $prop->aligntd = "right";
        wiki_table_start($prop);
        echo '<b>' . get_string('grade') . '</b>:&nbsp;';
        wiki_change_column();
        /// 1 -> "+", 2 -> "=", 3 -> "-"
        $prop = null;
        $prop->value = '1';
        $opt = wiki_option('+', $prop, true);
        $prop = null;
        $prop->value = '2';
        $opt .= wiki_option('=', $prop, true);
        $prop = null;
        $prop->value = '3';
        $opt .= wiki_option('-', $prop, true);
        $prop = null;
        $prop->name = "grade_edition";
        wiki_select($opt, $prop);
        echo '&nbsp';
        $prop = null;
        $prop->name = 'grade_edition_confirm';
        $prop->value = get_string('set', 'wiki');
        wiki_input_submit($prop);
        unset($prop);
        $prop->name = 'oldversion';
        $prop->value = $WS->pageolddata->version;
        wiki_input_hidden($prop);
        unset($prop);
        $prop->name = 'currentversion';
        $prop->value = $WS->pageverdata->version;
        wiki_input_hidden($prop);
        wiki_change_row();
        echo '<b>' . get_string('eval_feedback', 'wiki') . '</b>:&nbsp';
        wiki_change_column();
        unset($prop);
        $prop->size = 60;
        $prop->value = '';
        $prop->name = 'feedback';
        wiki_input_text($prop);
        $prop->align = 'right';
        wiki_change_row($prop);
        echo '<i>' . get_string('note', 'wiki') . '</i>:&nbsp;';
        wiki_change_column();
        $oldversion = $WS->pageolddata->version;
        $currentversion = $WS->pageverdata->version;
        if ($currentversion < $oldversion) {
            $tmp = $currentversion;
            $currentversion = $oldversion;
            $oldversion = $tmp;
        }
        $version = $oldversion + 1;
        $count = $version - $currentversion;
        if ($count == 1) {
            echo get_string('evaluate_hist_edition', 'wiki') . ' ' . $version;
        } else {
            echo '<i>' . get_string('evaluate_hist_editions', 'wiki') . ': ';
            for ($i = $version; $i <= $currentversion; $i++) {
                echo $i;
                if ($i < $currentversion) {
                    echo ', ';
                }
            }
            echo '</i>';
        }
        wiki_table_end();
        wiki_form_end();
        print_box_end();
    }
}
function wiki_import_wiki(&$WS)
{
    global $file;
    //if the form is complete
    $sure = optional_param('dfformsure', NULL, PARAM_ALPHA);
    if (isset($sure)) {
        //import to xml
        wiki_import_wiki_XML($WS);
        $prop = null;
        $prop->class = 'textcenter';
        $info = wiki_size_text(get_string("importcorrectly", 'wiki'), 2, '', true);
        wiki_div($info, $prop);
        $prop = null;
        $prop->action = '../view.php?id=' . $WS->cm->id;
        $prop->method = 'post';
        $prop->id = 'form';
        wiki_form_start($prop);
        $prop = null;
        $prop->border = '0';
        $prop->class = 'boxaligncenter';
        $prop->classtd = 'nwikileftnow';
        wiki_table_start($prop);
        $prop = null;
        $prop->name = 'dfformcontinue';
        $prop->value = get_string('continue');
        $input = wiki_input_submit($prop, true);
        wiki_div($input);
        wiki_table_end();
        wiki_form_end();
    } else {
        if (isset($WS->dfform['import'])) {
            $extension = explode("/", $WS->path);
            $num = count($extension) - 1;
            $name = $extension[$num];
            $info = wiki_b(get_string("importcheckwarning", 'wiki'), '', true);
            $info .= '    ' . $name;
            $prop = null;
            $prop->class = 'textcenter';
            wiki_paragraph($info, $prop);
            switch ($WS->dfform['incase']) {
                case 0:
                    $name = get_string("always", 'diki');
                    break;
                case 1:
                    $name = get_string("never", 'wiki');
                    break;
                case 2:
                    $name = get_string("before", 'wiki');
                    break;
                case 3:
                    $name = get_string("after", 'wiki');
                    break;
                default:
                    break;
            }
            $info = wiki_b(get_string("incase", 'wiki'), '', true);
            $info .= '  ' . $name;
            $prop = null;
            $prop->class = 'textcenter';
            wiki_paragraph($info, $prop);
            switch ($WS->dfform['incaseatach']) {
                case 0:
                    $name = get_string("alwaysatach", 'wiki');
                    break;
                case 1:
                    $name = get_string("neveratach", 'wiki');
                    break;
                case 2:
                    $name = get_string("beforeatach", 'wiki');
                    break;
                case 3:
                    $name = get_string("afteratach", 'wiki');
                    break;
                case 4:
                    $name = get_string("bigeratach", 'wiki');
                    break;
                case 5:
                    $name = get_string("smalleratach", 'wiki');
                    break;
                default:
                    break;
            }
            $info = wiki_b(get_string("incaseatach", 'wiki'), '', true);
            $info .= '  ' . $name;
            $prop = null;
            $prop->class = 'textcenter';
            wiki_paragraph($info, $prop);
            wiki_br();
            $prop = null;
            $prop->class = 'textcenter';
            wiki_paragraph(get_string("importcheckfiles", 'wiki'), $prop);
            $prop = null;
            $prop->class = 'boxaligncenter';
            wiki_table_start($prop);
            $prop = null;
            $prop->action = 'exportxml.php?id=' . $WS->cm->id . '&amp;pageaction=importxml&amp;path=' . $WS->path;
            $prop->method = 'post';
            $prop->id = 'form1';
            wiki_form_start($prop);
            $prop = null;
            $prop->name = 'dfformincase';
            $prop->value = $WS->dfform['incase'];
            wiki_input_hidden($prop);
            $prop = null;
            $prop->name = 'dfformincaseatach';
            $prop->value = $WS->dfform['incaseatach'];
            wiki_input_hidden($prop);
            $prop = null;
            $prop->name = 'dfformsure';
            $prop->value = get_string('yes');
            wiki_input_submit($prop);
            wiki_form_end();
            wiki_change_column();
            $prop = null;
            $prop->action = 'exportxml.php?id=' . $WS->cm->id . '&amp;pageaction=importewiki&amp;path=' . $WS->path . '&amp;file=' . $file;
            $prop->method = 'post';
            $prop->id = 'form2';
            wiki_form_start($prop);
            $prop = null;
            $prop->name = 'dfformcancel';
            $prop->value = get_string('no');
            wiki_input_submit($prop);
            wiki_form_end();
            wiki_table_end();
        } else {
            //create the form to import
            $prop = null;
            $prop->action = 'exportxml.php?id=' . $WS->cm->id . '&amp;pageaction=importewiki&amp;type=' . $WS->type . '&amp;path=' . $WS->path . '&amp;file=' . $file;
            $prop->method = 'post';
            $prop->id = 'form';
            wiki_form_start($prop);
            $prop = null;
            $prop->border = '0';
            $prop->class = 'boxaligncenter';
            $prop->classtd = 'nwikileftnow';
            wiki_table_start($prop);
            wiki_b(get_string('incase', 'wiki'));
            wiki_table_start();
            $prop = null;
            $prop->name = 'dfformincase';
            $prop->value = '0';
            $prop->checked = 'checked';
            wiki_input_radio($prop);
            print_string('always', 'wiki');
            wiki_change_row();
            $prop = null;
            $prop->name = 'dfformincase';
            $prop->value = '1';
            wiki_input_radio($prop);
            print_string('never', 'wiki');
            wiki_change_row();
            $prop = null;
            $prop->name = 'dfformincase';
            $prop->value = '2';
            wiki_input_radio($prop);
            print_string('before', 'wiki');
            wiki_change_row();
            $prop = null;
            $prop->name = 'dfformincase';
            $prop->value = '3';
            wiki_input_radio($prop);
            print_string('after', 'wiki');
            wiki_table_end();
            wiki_br(2);
            $prop = null;
            $prop->class = "nwikileftnow";
            wiki_change_row($prop);
            wiki_b(get_string('incaseatach', 'wiki'));
            wiki_table_start();
            $prop = null;
            $prop->name = 'dfformincaseatach';
            $prop->value = '0';
            $prop->checked = 'checked';
            wiki_input_radio($prop);
            print_string('alwaysatach', 'wiki');
            wiki_change_row();
            $prop = null;
            $prop->name = 'dfformincaseatach';
            $prop->value = '1';
            wiki_input_radio($prop);
            print_string('neveratach', 'wiki');
            wiki_change_row();
            $prop = null;
            $prop->name = 'dfformincaseatach';
            $prop->value = '2';
            wiki_input_radio($prop);
            print_string('beforeatach', 'wiki');
            wiki_change_row();
            $prop = null;
            $prop->name = 'dfformincaseatach';
            $prop->value = '3';
            wiki_input_radio($prop);
            print_string('afteratach', 'wiki');
            wiki_change_row();
            $prop = null;
            $prop->name = 'dfformincaseatach';
            $prop->value = '4';
            wiki_input_radio($prop);
            print_string('bigeratach', 'wiki');
            wiki_change_row();
            $prop = null;
            $prop->name = 'dfformincaseatach';
            $prop->value = '5';
            wiki_input_radio($prop);
            print_string('smalleratach', 'wiki');
            wiki_table_end();
            wiki_br(2);
            $prop = null;
            $prop->class = "nwikicenternow";
            wiki_change_row($prop);
            $prop = null;
            $prop->name = 'dfformimport';
            $prop->value = get_string('import', 'wiki');
            wiki_input_submit($prop);
            wiki_table_end();
            wiki_form_end();
        }
    }
}
function wiki_hist_restore(&$WS)
{
    if ($WS->dfperms['restore']) {
        $prop = null;
        $prop->id = "form";
        $prop->method = "post";
        $prop->action = 'view.php?id=' . $WS->linkid . '&amp;page=view/' . urlencode($WS->pageolddata->pagename) . '&amp;gid=' . $WS->groupmember->groupid . '&amp;uid=' . $WS->member->id;
        wiki_form_start($prop);
        wiki_div_start();
        $prop = null;
        $prop->name = "dfformversion";
        $prop->value = $WS->pagedata->version;
        wiki_input_hidden($prop);
        $prop = null;
        $prop->name = "dfformcreated";
        $prop->value = $WS->pageolddata->created;
        wiki_input_hidden($prop);
        $prop = null;
        $prop->name = "dfformeditable";
        $prop->value = $WS->pageolddata->editable;
        wiki_input_hidden($prop);
        $prop = null;
        $prop->name = "dfformeditor";
        $prop->value = $WS->pageolddata->editor;
        wiki_input_hidden($prop);
        $prop = null;
        $prop->name = "dfformaction";
        $prop->value = "edit";
        wiki_input_hidden($prop);
        $prop = null;
        $prop->name = "dfformcontent";
        $prop->value = htmlspecialchars($WS->pageolddata->content);
        wiki_input_hidden($prop);
        $prop = null;
        $prop->name = "dfformsave";
        $prop->value = get_string('restore', 'wiki');
        wiki_input_submit($prop);
        wiki_div_end();
        wiki_form_end();
    }
}
function wiki_print_edit_uploaded(&$WS)
{
    global $CFG;
    //initiates images array
    $context = get_context_instance(CONTEXT_MODULE, $WS->cm->id);
    $pl->src = $CFG->wwwroot . '/mod/wiki' . '/images/plus.gif';
    if (isset($WS->dfcourse)) {
        $pl->class = 'wiki_folding_co';
    } else {
        $pl->class = 'wiki_folding';
    }
    $mi->src = $CFG->wwwroot . '/mod/wiki' . '/images/minus.gif';
    if (isset($WS->dfcourse)) {
        $mi->class = 'wiki_folding_co';
    } else {
        $mi->class = 'wiki_folding';
    }
    $sq->src = $CFG->wwwroot . '/mod/wiki' . '/images/square.gif';
    $images = array('plus' => wiki_img($pl, true), 'minus' => wiki_img($mi, true), 'square' => wiki_img($sq, true));
    //get www path:
    if (has_capability('mod/wiki:uploadfiles', $context) || $WS->dfperms['attach']) {
        $prop = null;
        $prop->width = '100%';
        $prop->valigntd = 'top';
        $prop->classtd = 'nwikileftnow';
        wiki_table_start($prop);
        if ($WS->dfperms['attach']) {
            print_string('insertfile', 'wiki');
            $prop = null;
            $prop->valign = 'top';
            $prop->class = 'nwikileftnow';
            wiki_change_column($prop);
        }
        if ($WS->dfperms['attach']) {
            if (count($WS->dfdir->content) != 0) {
                $prop = null;
                $prop->class = 'wiki_listme';
                $prop->classli = 'wiki_listme';
                wiki_start_ul($prop);
                echo $images['plus'];
                $prop = null;
                $prop->href = '#';
                if (isset($WS->dfcourse)) {
                    $prop->class = 'wiki_folding_co';
                } else {
                    $prop->class = 'wiki_folding';
                }
                $button = wiki_a(get_string('uploaded', 'wiki'), $prop);
                $numm = 0;
                //generate tree content.
                foreach ($WS->dfdir->content as $file) {
                    if ($numm == 0) {
                        $prop = null;
                        $prop->class = 'wiki_listme';
                        $prop->style = 'margin:auto auto auto 15px;display:none';
                        $prop->classli = 'wiki_listme';
                        wiki_start_ul($prop);
                        $numm++;
                    } else {
                        $prop = null;
                        $prop->class = 'wiki_listme';
                        wiki_change_li($prop);
                    }
                    //image url: http://147.83.59.184/moodle15/file.php/#courseid/
                    $url = $WS->dfdir->www . '/' . $file;
                    $url = substr($url, strlen($CFG->wwwroot));
                    echo $images['square'];
                    $prop = null;
                    $prop->href = 'javascript:insertTags(\'[[attach:' . $file . ']]\',\'\',\'\');';
                    $button = wiki_a($file, $prop);
                    $prop = null;
                    $prop->src = $CFG->wwwroot . '/mod/wiki/editor/images/file_view.gif';
                    link_to_popup_window($url, get_string('view'), wiki_img($prop, true), $height = 400, $width = 500, get_string('view'));
                    if (has_capability('mod/wiki:deletefiles', $context)) {
                        $prop = null;
                        $prop->name = 'dfformdelfile';
                        $prop->value = $file;
                        $prop->src = $CFG->wwwroot . '/mod/wiki/images/delete.gif';
                        wiki_input_image($prop);
                    }
                }
                wiki_end_ul();
                wiki_end_ul();
            } else {
                //no files where uploaded
                print_string('nofiles', 'wiki');
            }
        }
        //print upload form
        $prop = null;
        $prop->valign = 'top';
        $prop->class = 'nwikiuptam';
        wiki_change_column($prop);
        // show upload files if enabled in wiki settings (students can upload) (nadavkav)
        if (has_capability('mod/wiki:uploadfiles', $context) and $WS->dfwiki->attach == '1') {
            $prop = null;
            $prop->name = 'MAX_FILE_SIZE';
            $prop->value = get_max_upload_file_size();
            wiki_input_hidden($prop);
            $prop = null;
            $prop->name = 'dfformfile';
            $prop->size = '20';
            wiki_input_file($prop);
            $prop = null;
            $prop->name = 'dfformupload';
            $prop->value = get_string('upload');
            wiki_input_submit($prop);
        }
        //print help
        $prop = null;
        $prop->valign = 'top';
        $prop->class = 'nwikileftnow';
        wiki_change_column($prop);
        helpbutton('attach', get_string('help'), 'wiki');
        wiki_table_end();
        wiki_hr();
    }
}