/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: elof.bigestans at gmail
  • Date: 2013-05-27 14:08:19 UTC
  • mto: This revision was merged to the branch mainline in revision 108.
  • Revision ID: elof.bigestans@gmail.com-20130527140819-p6j84f9l71zxofyp
* Started work on the viewStudents functionality... So far, displaying users works and it outputs correct and standardized html. 
* Still plenty to do though.

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
 
         * $forward = link to "next page", i.e. "nextPage.html"
5
 
         * $backward = 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($forward,$backward,$downloadlink,$heading,$headinglink,$filecontent) {
11
 
                if($backward != ""){
12
 
                        $backwardButton = "<a href='".$backward."'><img src='../media/codeviewer/CodeViewerLeftbutton.png'></a>";
13
 
                }else{
14
 
                        $backwardButton = "<img src='../media/codeviewer/CodeViewerLeftbuttonGrayed.png'>";
15
 
                }
16
 
 
17
 
                if($forward != ""){
18
 
                        $forwardButton = "<a href='".$forward."'><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($filecontents);
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 '
65
 
                                </div>
66
 
                        </div>
67
 
                        <div style="clear: both;"></div>
68
 
                </body>
69
 
                ';
70
 
        }
71
 
 
72
 
        /* function showfile 
73
 
         * Outputs html with syntax highlighting.
74
 
         * Takes 4 arguments_
75
 
         * interestingrows: array containing arrays, each with 3 set values -- start line number, end line number, comment
76
 
         * keywords: array containing keywords 
77
 
         * highlight: array containing arrays, each with two values - string to highlight, and HTML class to apply to highlight */
78
 
        function showfile($interestingrows,$keywords,$highlight,$filename) {
79
 
                echo "<pre>";
80
 
                $handle = @fopen($filename, "r");
81
 
                if ($handle) {
82
 
 
83
 
                        $lineno = 1;
84
 
                        $commentkind = 0;
85
 
                        $commenton = 0;
86
 
 
87
 
                        while (($buffer = fgets($handle, 4096)) !== false) {
88
 
                                $buffer = str_replace("\n", "", $buffer);
89
 
                                $buffer = str_replace("\r", "", $buffer);
90
 
                                $buffer = str_pad($buffer, 150, " ", STR_PAD_RIGHT);
91
 
                                $buffer = str_replace("&", "&amp;", $buffer);
92
 
                                $buffer = str_replace("<", "&lt;", $buffer);
93
 
                                $buffer = str_replace(">", "&gt;", $buffer);
94
 
                                $buffer = str_replace("\t", "&nbsp;", $buffer);
95
 
 
96
 
                                $interesting = 0;
97
 
                                $startspan = 0;
98
 
                                foreach($interestingrows as $row){
99
 
                                        if($lineno >= $row[0] && $lineno <= $row[1]){
100
 
                                                $interesting = true;
101
 
                                        }
102
 
                                }
103
 
 
104
 
                                foreach($keywords as $keyword){
105
 
                                        if($interesting){
106
 
                                                $buffer = str_replace($keyword,"<span class='keywordinteresting'>".$keyword."</span>", $buffer);
107
 
                                        }else{
108
 
                                                $buffer = str_replace($keyword,"<span class='keyword'>".$keyword."</span>", $buffer);
109
 
                                        }
110
 
                                }
111
 
 
112
 
                                // Detect comments - 0 == No comment 1 == Line comment 2 == Start Comment 3 == End Comment
113
 
                                $commentkind = 0;
114
 
                                $commentpos = strpos($buffer,"/*");
115
 
 
116
 
                                if($commentpos >= 0){
117
 
                                        $subby = substr($buffer,$commentpos+2,1);
118
 
                                }else{
119
 
                                        $subby = "Foo";
120
 
                                }
121
 
 
122
 
                                if($commentpos && $subby != '"'){
123
 
                                        $commentkind = 2;
124
 
                                        $commenton = 1;
125
 
                                }                                                       
126
 
 
127
 
                                $commentpos = strpos($buffer,"*/");
128
 
 
129
 
                                if($commentpos){
130
 
                                        $commentkind = 3;
131
 
                                        $commenton = 0;
132
 
                                }                                                       
133
 
 
134
 
                                $commentpos=strpos($buffer,"//");
135
 
 
136
 
                                if($commentpos){
137
 
                                        $commentkind = 1;
138
 
                                        $commenton = 0;
139
 
                                }                                                       
140
 
 
141
 
                                foreach($highlight as $highlightkeyword){
142
 
                                        $foundpos = strpos($buffer, $highlightkeyword[0]);
143
 
 
144
 
                                        // If line comment and keyword before comment marker
145
 
                                        if(($foundpos <= $commentpos && ($commentkind == 1 || $commentkind == 2)) || ($commentkind == 0) || ($foundpos > $commentpos && $commentkind == 3)) {
146
 
                                                if(!($commentkind==0&&$commenton==1)) {
147
 
                                                        $buffer = str_replace($highlightkeyword[0],"<span class='".$highlightkeyword[1]."'>".$highlightkeyword[0]."</span>",$buffer);
148
 
                                                }
149
 
                                        }
150
 
 
151
 
                                }
152
 
 
153
 
                                // echo $commentkind.$commenton;
154
 
                                if($commentkind > 0){
155
 
                                        if($commentkind == 1){
156
 
                                                $buffer = str_replace("//","<span class='commented'>//",$buffer);
157
 
                                                $buffer .= "</span>";
158
 
                                        }
159
 
                                        if($commentkind==2) {
160
 
                                                $buffer=str_replace("/*","<span class='commented'>/*",$buffer);
161
 
                                        } 
162
 
                                        if($commentkind==3) {
163
 
                                                $buffer=str_replace("*/","*/</span>",$buffer);
164
 
                                        }
165
 
                                }
166
 
 
167
 
                                $linenostr = $lineno;
168
 
                                $linenostr = str_pad($linenostr,3," ",STR_PAD_RIGHT);
169
 
                                
170
 
                                if($interesting){
171
 
                                        echo "<span class='interesting'>";
172
 
                                        echo "<span class='linenointeresting'>".$linenostr."</span>&nbsp;";
173
 
                                        $startspan = 1;
174
 
                                } else {
175
 
                                        echo "<span class='lineno'>".$linenostr."</span>&nbsp;";                                
176
 
                                }
177
 
                                
178
 
                                echo $buffer;
179
 
                                
180
 
                                if($startspan) {
181
 
                                        echo "</span>";
182
 
                                }
183
 
                                
184
 
                                $lineno++;
185
 
                                echo "<br>";
186
 
                        }
187
 
                        if (!feof($handle)) {
188
 
                                echo "Error: unexpected fgets() fail\n";
189
 
                        }
190
 
                        fclose($handle);
191
 
                }
192
 
                echo "</pre>";  
193
 
        }
194
 
?>
 
 
b'\\ No newline at end of file'