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"
10
function menulayout($forward,$backward,$downloadlink,$heading,$headinglink,$filecontent) {
12
$backwardButton = "<a href='".$backward."'><img src='../media/codeviewer/CodeViewerLeftbutton.png'></a>";
14
$backwardButton = "<img src='../media/codeviewer/CodeViewerLeftbuttonGrayed.png'>";
18
$forwardButton = "<a href='".$forward."'><img src='../media/codeviewer/CodeViewerRightbutton.png'></a>";
20
$forwardButton = "<img src='../media/codeviewer/CodeViewerLeftbuttonGrayed.png'>";
23
if($downloadlink != ""){
24
$downloadButton = "<a href='".$downloadlink."'><img src='../media/codeviewer/CodeViewerDownloadbutton.png'></a>";
26
$downloadButton = "<img src='../media/codeviewer/CodeViewerLeftbuttonGrayed.png'>";
29
echo ' <body onload="resize();" onresize="resize();">
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"
10
function menulayout($forwardLink, $backwardLink, $downloadLink, $heading, $headingLink, $fileContent) {
11
if($backwardLink != "") {
12
$backwardButton = "<a href='".$backwardLink."'><img src='../media/codeviewer/CodeViewerLeftbutton.png'></a>";
14
$backwardButton = "<img src='../media/codeviewer/CodeViewerLeftbuttonGrayed.png'>";
17
if($forwardLink != "") {
18
$forwardButton = "<a href='".$forwardLink."'><img src='../media/codeviewer/CodeViewerRightbutton.png'></a>";
20
$forwardButton = "<img src='../media/codeviewer/CodeViewerLeftbuttonGrayed.png'>";
23
if($downloadLink != "") {
24
$downloadButton = "<a href='".$downloadLink."'><img src='../media/codeviewer/CodeViewerDownloadbutton.png'></a>";
26
$downloadButton = "<img src='../media/codeviewer/CodeViewerLeftbuttonGrayed.png'>";
29
echo '<body onload="resize();" onresize="resize();">
30
30
<div class="Topmenu">
31
31
<table style="width:100%;height:100%;border:solid 1px;">
51
51
<div id="bottom" class="restContainer">
52
52
<div style="float: left;">
53
53
<div id="panel" class="panel" onmousemove="resizepanel(event)" onmousedown="mdpanel(event)" onmouseup="mupanel(event)">';
54
include($filecontent);
57
<div class="codecontent">';
60
/* function menulayoutend
61
* Outputs ending tags in HTML
63
function menulayoutend() {
67
<div style="clear: both;"></div>
73
* Outputs html with syntax highlighting.
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) {
80
$handle = @fopen($filename, "r");
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("&", "&", $buffer);
92
$buffer = str_replace("<", "<", $buffer);
93
$buffer = str_replace(">", ">", $buffer);
94
$buffer = str_replace("\t", " ", $buffer);
98
foreach($interestingrows as $row){
99
if($lineno >= $row[0] && $lineno <= $row[1]){
104
foreach($keywords as $keyword){
106
$buffer = str_replace($keyword,"<span class='keywordinteresting'>".$keyword."</span>", $buffer);
108
$buffer = str_replace($keyword,"<span class='keyword'>".$keyword."</span>", $buffer);
112
// Detect comments - 0 == No comment 1 == Line comment 2 == Start Comment 3 == End Comment
114
$commentpos = strpos($buffer,"/*");
116
if($commentpos >= 0){
117
$subby = substr($buffer,$commentpos+2,1);
122
if($commentpos && $subby != '"'){
127
$commentpos = strpos($buffer,"*/");
134
$commentpos=strpos($buffer,"//");
141
foreach($highlight as $highlightkeyword){
142
$foundpos = strpos($buffer, $highlightkeyword[0]);
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);
153
// echo $commentkind.$commenton;
154
if($commentkind > 0){
155
if($commentkind == 1){
156
$buffer = str_replace("//","<span class='commented'>//",$buffer);
157
$buffer .= "</span>";
159
if($commentkind==2) {
160
$buffer=str_replace("/*","<span class='commented'>/*",$buffer);
162
if($commentkind==3) {
163
$buffer=str_replace("*/","*/</span>",$buffer);
167
$linenostr = $lineno;
168
$linenostr = str_pad($linenostr,3," ",STR_PAD_RIGHT);
171
echo "<span class='interesting'>";
172
echo "<span class='linenointeresting'>".$linenostr."</span> ";
54
include($fileContent);
57
<div class="codecontent">';
60
/* function menulayoutend
61
* Outputs ending tags in HTML
63
function menulayoutEnd() {
66
<div style="clear: both;">
72
* Outputs html with syntax highlighting.
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) {
79
$handle = @fopen($fileName, "r");
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);
97
foreach($interestingRows as $row) {
98
if($lineNumber >= $row[0] && $lineNumber <= $row[1]) {
103
foreach($keywords as $keyword) {
105
$buffer = str_replace($keyword,"<span class='keywordinteresting'>".$keyword."</span>", $buffer);
175
echo "<span class='lineno'>".$linenostr."</span> ";
187
if (!feof($handle)) {
188
echo "Error: unexpected fgets() fail\n";
107
$buffer = str_replace($keyword,"<span class='keyword'>".$keyword."</span>", $buffer);
111
// Detect comments - 0 == No comment 1 == Line comment 2 == Start Comment 3 == End Comment
113
$commentPos = strpos($buffer,"/*");
115
if($commentPos >= 0) {
116
$subby = substr($buffer, $commentPos+2, 1);
121
if($commentPos && $subby != '"') {
126
$commentPos = strpos($buffer, "*/");
133
$commentPos=strpos($buffer, "//");
140
foreach($highlight as $highlightkeyword) {
141
$foundpos = strpos($buffer, $highlightkeyword[0]);
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);
152
// echo $commentKind.$commentOn;
153
if($commentKind > 0) {
154
if($commentKind == 1) {
155
$buffer = str_replace("//","<span class='commented'>//", $buffer);
156
$buffer .= "</span>";
158
if($commentKind == 2) {
159
$buffer=str_replace("/*","<span class='commented'>/*", $buffer);
161
if($commentKind == 3) {
162
$buffer=str_replace("*/","*/</span>", $buffer);
166
$linenostr = $lineNumber;
167
$linenostr = str_pad($linenostr, 3, " ", STR_PAD_RIGHT);
170
echo "<span class='interesting'>";
171
echo "<span class='linenointeresting'>".$linenostr."</span> ";
174
echo "<span class='lineno'>".$linenostr."</span> ";
186
if (!feof($handle)) {
187
echo "Error: unexpected fgets() fail\n";
b'\\ No newline at end of file'