]> git.mjollnir.org Git - moodle.git/commitdiff
this is a course format for pdas. I changed the three column layout to a three row...
authorurs_hunkler <urs_hunkler>
Sun, 30 Jan 2005 23:09:35 +0000 (23:09 +0000)
committerurs_hunkler <urs_hunkler>
Sun, 30 Jan 2005 23:09:35 +0000 (23:09 +0000)
* first the content of the left column
* beyond the courses
* at last the content of the right column

It hasn't got a name to select in the language pack yet, so please selct it by [[formatpda]].

course/format/pda/config.php [new file with mode: 0755]
course/format/pda/format.php [new file with mode: 0644]

diff --git a/course/format/pda/config.php b/course/format/pda/config.php
new file mode 100755 (executable)
index 0000000..9120003
--- /dev/null
@@ -0,0 +1,13 @@
+<?php\r
+//\r
+// Optional course format configuration file\r
+//\r
+// This file contains any specific configuration settings for the \r
+// format.\r
+//\r
+// The default blocks layout for this course format:\r
+    $format['defaultblocks'] = 'participants,search_forums,calendar_month,'.\r
+                               'calendar_upcoming,social_activities,'.\r
+                               'recent_activity,admin,course_list';\r
+//\r
+?>
\ No newline at end of file
diff --git a/course/format/pda/format.php b/course/format/pda/format.php
new file mode 100644 (file)
index 0000000..70cb8f7
--- /dev/null
@@ -0,0 +1,287 @@
+<?php // $Id$
+      // Display the whole course as "topics" made of of modules
+      // In fact, this is very similar to the "weeks" format, in that
+      // each "topic" is actually a week.  The main difference is that
+      // the dates aren't printed - it's just an aesthetic thing for
+      // courses that aren't so rigidly defined by time.
+      // Included from "view.php"
+
+    require_once("$CFG->dirroot/mod/forum/lib.php");
+
+    // Bounds for block widths
+    define('BLOCK_L_MIN_WIDTH', 240);
+    define('BLOCK_L_MAX_WIDTH', 240);
+    define('BLOCK_R_MIN_WIDTH', 240);
+    define('BLOCK_R_MAX_WIDTH', 240);
+
+    optional_variable($preferred_width_left,  blocks_preferred_width($pageblocks[BLOCK_POS_LEFT]));
+    optional_variable($preferred_width_right, blocks_preferred_width($pageblocks[BLOCK_POS_RIGHT]));
+    $preferred_width_left = min($preferred_width_left, BLOCK_L_MAX_WIDTH);
+    $preferred_width_left = max($preferred_width_left, BLOCK_L_MIN_WIDTH);
+    $preferred_width_right = min($preferred_width_right, BLOCK_R_MAX_WIDTH);
+    $preferred_width_right = max($preferred_width_right, BLOCK_R_MIN_WIDTH);
+
+    if (isset($topic)) {
+        $displaysection = course_set_display($course->id, $topic);
+    } else {
+        if (isset($USER->display[$course->id])) {       // for admins, mostly
+            $displaysection = $USER->display[$course->id];
+        } else {
+            $displaysection = course_set_display($course->id, 0);
+        }
+    }
+
+    if (isteacher($course->id) and isset($marker) and confirm_sesskey()) {
+        $course->marker = $marker;
+        if (! set_field("course", "marker", $marker, "id", $course->id)) {
+            error("Could not mark that topic for this course");
+        }
+    }
+
+    $streditsummary   = get_string("editsummary");
+    $stradd           = get_string("add");
+    $stractivities    = get_string("activities");
+    $strshowalltopics = get_string("showalltopics");
+    $strtopic         = get_string("topic");
+    $strgroups       = get_string("groups");
+    $strgroupmy      = get_string("groupmy");
+    if ($editing) {
+        $strstudents = moodle_strtolower($course->students);
+        $strtopichide = get_string("topichide", "", $strstudents);
+        $strtopicshow = get_string("topicshow", "", $strstudents);
+        $strmarkthistopic = get_string("markthistopic");
+        $strmarkedthistopic = get_string("markedthistopic");
+        $strmoveup = get_string("moveup");
+        $strmovedown = get_string("movedown");
+    }
+
+
+/// Layout the whole page as three big columns.
+    echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\" id=\"layout-table\">";
+
+    echo "<tr valign=\"top\">\n";
+
+/// The left column ...
+
+    if(blocks_have_content($pageblocks[BLOCK_POS_LEFT]) || $editing) {
+        echo '<td style="vertical-align: top; width: '.$preferred_width_left.'px;" id="left-column">';
+        blocks_print_group($PAGE, $pageblocks[BLOCK_POS_LEFT]);
+        echo '</td>
+        </tr><tr>';
+    }
+
+/// Start main column
+    echo '<td valign="top" width="240px" id="middle-column">';
+
+    print_heading_block(get_string("topicoutline"), "100%", "outlineheadingblock");
+    print_spacer(8, 1, true);
+
+    echo "<table class=\"topicsoutline\" border=\"0\" cellpadding=\"8\" cellspacing=\"0\" width=\"100%\">";
+
+/// If currently moving a file then show the current clipboard
+    if (ismoving($course->id)) {
+        $stractivityclipboard = strip_tags(get_string("activityclipboard", "", addslashes($USER->activitycopyname)));
+        $strcancel= get_string("cancel");
+        echo "<tr>";
+        echo "<td colspan=\"3\" valign=\"top\" class=\"topicoutlineclip\" width=\"100%\">";
+        echo "<p><font size=\"2\">";
+        echo "$stractivityclipboard&nbsp;&nbsp;(<a href=\"mod.php?cancelcopy=true&amp;sesskey=$USER->sesskey\">$strcancel</a>)";
+        echo "</font></p>";
+        echo "</td>";
+        echo "</tr>";
+        echo "<tr><td colspan=\"3\"><img src=\"../pix/spacer.gif\" width=\"1\" height=\"1\" alt=\"\" /></td></tr>";
+    }
+
+
+/// Print Section 0
+
+    $section = 0;
+    $thissection = $sections[$section];
+
+    if ($thissection->summary or $thissection->sequence or isediting($course->id)) {
+        echo '<tr id="section_0">';
+        //echo '<td nowrap="nowrap" class="topicsoutlineside" valign="top" width="20">&nbsp;</td>';
+        echo '<td valign="top"  class="topicsoutlinecontent" width="100%">';
+
+        $summaryformatoptions->noclean = true;
+        echo format_text($thissection->summary, FORMAT_HTML, $summaryformatoptions);
+
+        if (isediting($course->id)) {
+            echo '<a title="'.$streditsummary.'" '.
+                 ' href="editsection.php?id='.$thissection->id.'"><img src="'.$CFG->pixpath.'/t/edit.gif" '.
+                 ' height="11" width="11" border="0" alt="'.$streditsummary.'" /></a><br /><br />';
+        }
+
+        print_section($course, $thissection, $mods, $modnamesused);
+
+        if (isediting($course->id)) {
+            print_section_add_menus($course, $section, $modnames);
+        }
+
+        echo '</td>';
+        echo '<td nowrap="nowrap" class="topicsoutlineside" valign="top" align="center" width="10">';
+        echo '&nbsp;</td></tr>';
+        echo '<tr><td colspan="3"><img src="../pix/spacer.gif" width="1" height="1" alt="" /></td></tr>';
+    }
+
+
+/// Now all the normal modules by topic
+/// Everything below uses "section" terminology - each "section" is a topic.
+
+    $timenow = time();
+    $section = 1;
+    $sectionmenu = array();
+
+    while ($section <= $course->numsections) {
+
+        if (!empty($displaysection) and $displaysection != $section) {
+            if (empty($sections[$section])) {
+                $strsummary = "";
+            } else {
+                $strsummary = " - ".strip_tags($sections[$section]->summary);
+                if (strlen($strsummary) < 57) {
+                    $strsummary = " - $strsummary";
+                } else {
+                    $strsummary = " - ".substr($strsummary, 0, 60)."...";
+                }
+            }
+            $sectionmenu["topic=$section"] = s("$section$strsummary");
+            $section++;
+            continue;
+        }
+
+        if (!empty($sections[$section])) {
+            $thissection = $sections[$section];
+
+        } else {
+            unset($thissection);
+            $thissection->course = $course->id;   // Create a new section structure
+            $thissection->section = $section;
+            $thissection->summary = "";
+            $thissection->visible = 1;
+            if (!$thissection->id = insert_record("course_sections", $thissection)) {
+                notify("Error inserting new topic!");
+            }
+        }
+
+        $showsection = (isteacher($course->id) or $thissection->visible or !$course->hiddensections);
+
+        if ($showsection) {
+
+            $currenttopic = ($course->marker == $section);
+
+            if (!$thissection->visible) {
+                $colorsides = 'class="topicsoutlinesidehidden"';
+                $colormain  = 'class="topicsoutlinecontenthidden"';
+            } else if ($currenttopic) {
+                $colorsides = 'class="topicsoutlinesidehighlight"';
+                $colormain  = 'class="topicsoutlinecontenthighlight"';
+            } else {
+                $colorsides = 'class="topicsoutlineside"';
+                $colormain  = 'class="topicsoutlinecontent"';
+            }
+
+            echo "<tr>";
+            //echo "<td nowrap=\"nowrap\" $colorsides valign=\"top\" width=\"20\">";
+            //echo "<p align=\"center\"><font size=\"3\"><b><a name=\"$section\">$section</a></b></font></p>";
+            //echo "</td>";
+
+            if (!isteacher($course->id) and !$thissection->visible) {   // Hidden for students
+                echo '<td id="section_'.($section).'" style="vertical-align:top; text-align: center; width: 100%;" '.$colormain.'>';
+                echo get_string("notavailable");
+                echo "</td>";
+            } else {
+                echo '<td id="section_'.($section).'" style="vertical-align:top; width: 100%;" '.$colormain.'>';
+
+                $summaryformatoptions->noclean = true;
+                echo format_text($thissection->summary, FORMAT_HTML, $summaryformatoptions);
+
+                if (isediting($course->id)) {
+                    echo " <a title=\"$streditsummary\" href=\"editsection.php?id=$thissection->id\">".
+                         "<img src=\"$CFG->pixpath/t/edit.gif\" border=\"0\" height=\"11\" width=\"11\" alt=\"\" /></a><br /><br />";
+                }
+
+                print_section($course, $thissection, $mods, $modnamesused);
+
+                if (isediting($course->id)) {
+                    print_section_add_menus($course, $section, $modnames);
+                }
+
+                echo "</td>";
+            }
+            echo "<td nowrap=\"nowrap\" $colorsides valign=\"top\" align=\"center\" width=\"10\">";
+            echo "<font size=\"1\">";
+
+            if ($displaysection == $section) {      // Show the zoom boxes
+                echo "<a href=\"view.php?id=$course->id&amp;topic=all\" title=\"$strshowalltopics\">".
+                     "<img src=\"$CFG->pixpath/i/all.gif\" height=\"25\" width=\"16\" border=\"0\" /></a><br />";
+            } else {
+                $strshowonlytopic = get_string("showonlytopic", "", $section);
+                echo "<a href=\"view.php?id=$course->id&amp;topic=$section\" title=\"$strshowonlytopic\">".
+                     "<img src=\"$CFG->pixpath/i/one.gif\" height=\"16\" width=\"16\" border=\"0\" alt=\"\" /></a><br />";
+            }
+
+            if (isediting($course->id)) {
+                if ($course->marker == $section) {  // Show the "light globe" on/off
+                    echo "<a href=\"view.php?id=$course->id&amp;marker=0&amp;sesskey=$USER->sesskey\" title=\"$strmarkedthistopic\">".
+                         "<img src=\"$CFG->pixpath/i/marked.gif\" vspace=\"3\" height=\"16\" width=\"16\" border=\"0\" alt=\"\" /></a><br />";
+                } else {
+                    echo "<a href=\"view.php?id=$course->id&amp;marker=$section&amp;sesskey=$USER->sesskey\" title=\"$strmarkthistopic\">".
+                         "<img src=\"$CFG->pixpath/i/marker.gif\" vspace=\"3\" height=\"16\" width=\"16\" border=\"0\" alt=\"\" /></a><br />";
+                }
+
+                if ($thissection->visible) {        // Show the hide/show eye
+                    echo "<a href=\"view.php?id=$course->id&amp;hide=$section&amp;sesskey=$USER->sesskey\" title=\"$strtopichide\">".
+                         "<img src=\"$CFG->pixpath/i/hide.gif\" vspace=\"3\" height=\"16\" width=\"16\" border=\"0\" alt=\"\" /></a><br />";
+                } else {
+                    echo "<a href=\"view.php?id=$course->id&amp;show=$section&amp;sesskey=$USER->sesskey\" title=\"$strtopicshow\">".
+                         "<img src=\"$CFG->pixpath/i/show.gif\" vspace=\"3\" height=\"16\" width=\"16\" border=\"0\" alt=\"\" /></a><br />";
+                }
+
+                if ($section > 1) {                       // Add a arrow to move section up
+                    echo "<a href=\"view.php?id=$course->id&amp;section=$section&amp;move=-1&amp;sesskey=$USER->sesskey\" title=\"$strmoveup\">".
+                         "<img src=\"$CFG->pixpath/t/up.gif\" vspace=\"3\" height=\"11\" width=\"11\" border=\"0\" alt=\"\" /></a><br />";
+                }
+
+                if ($section < $course->numsections) {    // Add a arrow to move section down
+                    echo "<a href=\"view.php?id=$course->id&amp;section=$section&amp;move=1&amp;sesskey=$USER->sesskey\" title=\"$strmovedown\">".
+                         "<img src=\"$CFG->pixpath/t/down.gif\" vspace=\"3\" height=\"11\" width=\"11\" border=\"0\" alt=\"\" /></a><br />";
+                }
+
+            }
+
+            echo "</font>";
+            echo "</td>";
+            echo "</tr>";
+            echo "<tr><td colspan=\"3\"><img src=\"../pix/spacer.gif\" width=\"1\" height=\"1\" alt=\"\" /></td></tr>";
+        }
+
+        $section++;
+    }
+    echo "</table>";
+
+    if (!empty($sectionmenu)) {
+        echo "<center>";
+        echo popup_form("$CFG->wwwroot/course/view.php?id=$course->id&", $sectionmenu,
+                   "sectionmenu", "", get_string("jumpto"), "", "", true);
+        echo "</center>";
+    }
+
+
+    echo "</td>
+        </tr><tr>";
+
+    // The right column
+    if(blocks_have_content($pageblocks[BLOCK_POS_RIGHT]) || $editing) {
+        echo '<td style="vertical-align: top; width: '.$preferred_width_right.'px;" id="right-column">';
+        blocks_print_group($PAGE, $pageblocks[BLOCK_POS_RIGHT]);
+        if ($editing && !empty($missingblocks)) {
+            blocks_print_adminblock($PAGE, $missingblocks);
+        }
+        echo '</td>';
+    }
+
+    echo "</tr>\n";
+    echo "</table>\n";
+
+?>