bzr branch
http://gegoxaren.bato24.eu/bzr/lenasys/trunk
1
by Henrik G.
First seed of Lenasys ... Needs to be Organized Further |
1 |
<?php
|
11.5.1
by a11vikob
Fixed hopefully everything in Bug #1164597 |
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();"> |
|
9.4.1
by elof.bigestans at gmail
* Re-structured according to new folder structure - moved media out, moved things in /Codeviewer/Codeviewer to /Codeviewer |
30 |
<div class="Topmenu">
|
31 |
<table style="width:100%;height:100%;border:solid 1px;">
|
|
4.9.5
by elof.bigestans at gmail
Added comments to functions in showcode.php |
32 |
<tr>
|
33 |
<td class="buttonstyle">
|
|
9.4.1
by elof.bigestans at gmail
* Re-structured according to new folder structure - moved media out, moved things in /Codeviewer/Codeviewer to /Codeviewer |
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>
|
|
4.9.6
by elof.bigestans at gmail
Cleaned up showcode.php, function menulayout() |
41 |
</td>
|
42 |
<td class="verticalaligntext">
|
|
11.5.1
by a11vikob
Fixed hopefully everything in Bug #1164597 |
43 |
<a href="'. $headingLink .'" style="text-decoration: none">'. $heading .'</a> |
4.9.6
by elof.bigestans at gmail
Cleaned up showcode.php, function menulayout() |
44 |
</td>
|
9.4.1
by elof.bigestans at gmail
* Re-structured according to new folder structure - moved media out, moved things in /Codeviewer/Codeviewer to /Codeviewer |
45 |
<td class="buttonstyle">
|
46 |
'. $downloadButton .' |
|
4.9.6
by elof.bigestans at gmail
Cleaned up showcode.php, function menulayout() |
47 |
</td>
|
48 |
</tr>
|
|
49 |
</table>
|
|
50 |
</div>
|
|
51 |
<div id="bottom" class="restContainer">
|
|
52 |
<div style="float: left;">
|
|
9.4.1
by elof.bigestans at gmail
* Re-structured according to new folder structure - moved media out, moved things in /Codeviewer/Codeviewer to /Codeviewer |
53 |
<div id="panel" class="panel" onmousemove="resizepanel(event)" onmousedown="mdpanel(event)" onmouseup="mupanel(event)">'; |
11.5.1
by a11vikob
Fixed hopefully everything in Bug #1164597 |
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("&", "&", $buffer); |
|
91 |
$buffer = str_replace("<", "<", $buffer); |
|
92 |
$buffer = str_replace(">", ">", $buffer); |
|
93 |
$buffer = str_replace("\t", " ", $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); |
|
4.9.4
by elof.bigestans at gmail
Cleaned up showcode.php -- Fixed spacing between operators and variable declarations |
106 |
} else { |
11.5.1
by a11vikob
Fixed hopefully everything in Bug #1164597 |
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> "; |
|
172 |
$startspan = 1; |
|
173 |
} else { |
|
174 |
echo "<span class='lineno'>".$linenostr."</span> "; |
|
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); |
|
1
by Henrik G.
First seed of Lenasys ... Needs to be Organized Further |
190 |
}
|
11.5.1
by a11vikob
Fixed hopefully everything in Bug #1164597 |
191 |
echo "</pre>"; |
192 |
}
|
|
1
by Henrik G.
First seed of Lenasys ... Needs to be Organized Further |
193 |
?>
|