/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to CodeViewer/codeviewerfunctions.php

  • Committer: Gustav Hatvigsson
  • Date: 2013-05-31 06:15:46 UTC
  • mfrom: (90.1.20 lenasys2)
  • Revision ID: gustav.hartvigsson@gmail.com-20130531061546-vj8z28sq375kvghq
Merged Jonsson:s changes:
Fixed the layout on cms index so the arrows and dots marks expanded objects.
Fixed so the course content is sorted by course occasion and not by name

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
/* function menulayout
3
 
 * Takes 6 arguments and outputs a HTML navigation menu
4
 
* $forwardLink = link to "next page", i.e. "nextPage.html"
5
 
* $backwardLink = link to "previous page", i.e. "previousPage.html"
6
 
* $downloadLink = link to download source file, on download button, i.e. "sourceFile.txt"
7
 
* headingLink = link in heading, i.e. "sourceFile.txt"
8
 
* fileContent = file containing info in the left panel, i.e. "panelContent.txt"
9
 
*/
10
 
function menulayout($forwardLink, $backwardLink, $downloadLink, $heading, $headingLink, $fileContent) {
11
 
        if($backwardLink != "") {
12
 
                $backwardButton = "<a href='".$backwardLink."'><img src='../media/codeviewer/CodeViewerLeftbutton.png'></a>";
13
 
        } else {
14
 
                $backwardButton = "<img src='../media/codeviewer/CodeViewerLeftbuttonGrayed.png'>";
15
 
        }
16
 
 
17
 
        if($forwardLink != "") {
18
 
                $forwardButton = "<a href='".$forwardLink."'><img src='../media/codeviewer/CodeViewerRightbutton.png'></a>";
19
 
        } else {
20
 
                $forwardButton = "<img src='../media/codeviewer/CodeViewerLeftbuttonGrayed.png'>";
21
 
        }
22
 
 
23
 
        if($downloadLink != "") {
24
 
                $downloadButton = "<a href='".$downloadLink."'><img src='../media/codeviewer/CodeViewerDownloadbutton.png'></a>";
25
 
        } else {
26
 
                $downloadButton = "<img src='../media/codeviewer/CodeViewerLeftbuttonGrayed.png'>";
27
 
        }
28
 
 
29
 
        echo '<body onload="resize();" onresize="resize();">
30
 
                        <div class="Topmenu">
31
 
                                <table style="width:100%;height:100%;border:solid 1px;">
32
 
                                        <tr>
33
 
                                                <td class="buttonstyle">
34
 
                                                        '. $backwardButton .'
35
 
                                                </td>
36
 
                                                <td class="buttonstyle">
37
 
                                                        '. $forwardButton .'
38
 
                                                </td>
39
 
                                                <td class="buttonstyle">
40
 
                                                        <a href="../Lindex.html"><img src="../media/codeviewer/CodeViewerRightbutton.png"></a>
41
 
                                                </td>
42
 
                                                <td class="verticalaligntext">
43
 
                                                        <a href="'. $headingLink .'" style="text-decoration: none">'. $heading .'</a>
44
 
                                                </td>
45
 
                                                <td class="buttonstyle">
46
 
                                                        '. $downloadButton .'
47
 
                                                </td>
48
 
                                        </tr>
49
 
                                </table>
50
 
                        </div>
51
 
                        <div id="bottom" class="restContainer">
52
 
                                <div style="float: left;">
53
 
                                        <div id="panel" class="panel" onmousemove="resizepanel(event)" onmousedown="mdpanel(event)" onmouseup="mupanel(event)">';
54
 
                                                include($fileContent);
55
 
                                echo '</div>
56
 
                                </div>
57
 
                        <div class="codecontent">';
58
 
}
59
 
 
60
 
/* function menulayoutend
61
 
 * Outputs ending tags in HTML
62
 
*/
63
 
function menulayoutEnd() {
64
 
        echo '</div>
65
 
                </div>
66
 
                <div style="clear: both;">
67
 
                </div>
68
 
        </body>';
69
 
}
70
 
 
71
 
/* function showfile
72
 
 * Outputs html with syntax highlighting.
73
 
* Takes 4 arguments_
74
 
* interestingRows: array containing arrays, each with 3 set values -- start line number, end line number, comment
75
 
* keywords: array containing keywords
76
 
* highlight: array containing arrays, each with two values - string to highlight, and HTML class to apply to highlight */
77
 
function showfile($interestingRows, $keywords, $highlight, $fileName) {
78
 
        echo "<pre>";
79
 
        $handle = @fopen($fileName, "r");
80
 
        if ($handle) {
81
 
 
82
 
                $lineNumber = 1;
83
 
                $commentKind = 0;
84
 
                $commentOn = 0;
85
 
 
86
 
                while (($buffer = fgets($handle, 4096)) !== false) {
87
 
                        $buffer = str_replace("\n", "", $buffer);
88
 
                        $buffer = str_replace("\r", "", $buffer);
89
 
                        $buffer = str_pad($buffer, 150, " ", STR_PAD_RIGHT);
90
 
                        $buffer = str_replace("&", "&amp;", $buffer);
91
 
                        $buffer = str_replace("<", "&lt;", $buffer);
92
 
                        $buffer = str_replace(">", "&gt;", $buffer);
93
 
                        $buffer = str_replace("\t", "&nbsp;", $buffer);
94
 
 
95
 
                        $interesting = 0;
96
 
                        $startspan = 0;
97
 
                        foreach($interestingRows as $row) {
98
 
                                if($lineNumber >= $row[0] && $lineNumber <= $row[1]) {
99
 
                                        $interesting = true;
100
 
                                }
101
 
                        }
102
 
 
103
 
                        foreach($keywords as $keyword) {
104
 
                                if($interesting) {
105
 
                                        $buffer = str_replace($keyword,"<span class='keywordinteresting'>".$keyword."</span>", $buffer);
106
 
                                } else {
107
 
                                        $buffer = str_replace($keyword,"<span class='keyword'>".$keyword."</span>", $buffer);
108
 
                                }
109
 
                        }
110
 
 
111
 
                        // Detect comments - 0 == No comment 1 == Line comment 2 == Start Comment 3 == End Comment
112
 
                        $commentKind = 0;
113
 
                        $commentPos = strpos($buffer,"/*");
114
 
 
115
 
                        if($commentPos >= 0) {
116
 
                                $subby = substr($buffer, $commentPos+2, 1);
117
 
                        } else {
118
 
                                $subby = "Foo";
119
 
                        }
120
 
 
121
 
                        if($commentPos && $subby != '"') {
122
 
                                $commentKind = 2;
123
 
                                $commentOn = 1;
124
 
                        }
125
 
 
126
 
                        $commentPos = strpos($buffer, "*/");
127
 
 
128
 
                        if($commentPos) {
129
 
                                $commentKind = 3;
130
 
                                $commentOn = 0;
131
 
                        }
132
 
 
133
 
                        $commentPos=strpos($buffer, "//");
134
 
 
135
 
                        if($commentPos) {
136
 
                                $commentKind = 1;
137
 
                                $commentOn = 0;
138
 
                        }
139
 
 
140
 
                        foreach($highlight as $highlightkeyword) {
141
 
                                $foundpos = strpos($buffer, $highlightkeyword[0]);
142
 
 
143
 
                                // If line comment and keyword before comment marker
144
 
                                if(($foundpos <= $commentPos && ($commentKind == 1 || $commentKind == 2)) || ($commentKind == 0) || ($foundpos > $commentPos && $commentKind == 3)) {
145
 
                                        if(!($commentKind == 0 && $commentOn == 1)) {
146
 
                                                $buffer = str_replace($highlightkeyword[0], "<span class='".$highlightkeyword[1]."'>".$highlightkeyword[0]."</span>", $buffer);
147
 
                                        }
148
 
                                }
149
 
 
150
 
                        }
151
 
 
152
 
                        // echo $commentKind.$commentOn;
153
 
                        if($commentKind > 0) {
154
 
                                if($commentKind == 1) {
155
 
                                        $buffer = str_replace("//","<span class='commented'>//", $buffer);
156
 
                                        $buffer .= "</span>";
157
 
                                }
158
 
                                if($commentKind == 2) {
159
 
                                        $buffer=str_replace("/*","<span class='commented'>/*", $buffer);
160
 
                                }
161
 
                                if($commentKind == 3) {
162
 
                                        $buffer=str_replace("*/","*/</span>", $buffer);
163
 
                                }
164
 
                        }
165
 
 
166
 
                        $linenostr = $lineNumber;
167
 
                        $linenostr = str_pad($linenostr, 3, " ", STR_PAD_RIGHT);
168
 
 
169
 
                        if($interesting) {
170
 
                                echo "<span class='interesting'>";
171
 
                                echo "<span class='linenointeresting'>".$linenostr."</span>&nbsp;";
172
 
                                $startspan = 1;
173
 
                        } else {
174
 
                                echo "<span class='lineno'>".$linenostr."</span>&nbsp;";
175
 
                        }
176
 
 
177
 
                        echo $buffer;
178
 
 
179
 
                        if($startspan) {
180
 
                                echo "</span>";
181
 
                        }
182
 
 
183
 
                        $lineNumber++;
184
 
                        echo "<br>";
185
 
                }
186
 
                if (!feof($handle)) {
187
 
                        echo "Error: unexpected fgets() fail\n";
188
 
                }
189
 
                fclose($handle);
190
 
        }
191
 
        echo "</pre>";
192
 
}
193
 
?>
 
 
b'\\ No newline at end of file'