bzr branch
http://gegoxaren.bato24.eu/bzr/lenasys/0.1
1
by Henrik G.
First seed of Lenasys ... Needs to be Organized Further |
1 |
<?php
|
2 |
||
3 |
function menulayout($forward,$backward,$downloadlink,$heading,$headinglink,$filecontent) |
|
4 |
{
|
|
5 |
echo "<body onload='resize();' onresize='resize();'>"; |
|
6 |
||
7 |
echo "<div class='Topmenu'>"; |
|
8 |
echo "<table style='width:100%;height:100%;border:solid 1px;'>"; |
|
9 |
echo "<tr>"; |
|
10 |
||
11 |
echo "<td class='buttonstyle'>"; |
|
12 |
if($backward!=""){ |
|
13 |
echo "<a href='".$backward."'><img src='CodeViewerLeftbutton.png'></a>"; |
|
14 |
}else{ |
|
15 |
echo "<img src='CodeViewerLeftbuttonGrayed.png'>"; |
|
16 |
}
|
|
17 |
echo "</td>"; |
|
18 |
||
19 |
echo "<td class='buttonstyle'>"; |
|
20 |
if($forward!=""){ |
|
21 |
echo "<a href='".$forward."'><img src='CodeViewerRightbutton.png'></a>"; |
|
22 |
}else{ |
|
23 |
echo "<img src='CodeViewerLeftbuttonGrayed.png'>"; |
|
24 |
}
|
|
25 |
echo "</td>"; |
|
26 |
||
27 |
echo "<td class='buttonstyle'>"; |
|
28 |
echo "<a href='../Lindex.html'><img src='CodeViewerRightbutton.png'></a>"; |
|
29 |
echo "</td>"; |
|
30 |
||
31 |
echo "<td class='verticalaligntext'>"; |
|
32 |
echo "<a STYLE='text-decoration:none' href='".$headinglink."'>".$heading."</a>"; |
|
33 |
echo "</td>"; |
|
34 |
||
35 |
echo "<td class='buttonstyle'>"; |
|
36 |
if($downloadlink!=""){ |
|
37 |
echo "<a href='".$downloadlink."'><img src='CodeViewerDownloadbutton.png'></a>"; |
|
38 |
}else{ |
|
39 |
echo "<img src='CodeViewerLeftbuttonGrayed.png'>"; |
|
40 |
}
|
|
41 |
echo "</td>"; |
|
42 |
||
43 |
echo "</tr>"; |
|
44 |
echo "</table>"; |
|
45 |
||
46 |
echo "</div>"; |
|
47 |
||
48 |
echo "<div id='bottom' class='RestContainer'>"; |
|
49 |
||
50 |
echo "<div style='float:left;'>"; |
|
51 |
echo "<div id='panel' class='panel' onmousemove='resizepanel(event)' onmousedown='mdpanel(event)' onmouseup='mupanel(event)'>"; |
|
52 |
||
53 |
include($filecontent); |
|
54 |
||
55 |
echo "</div>"; |
|
56 |
echo "</div>"; |
|
57 |
echo "<div class='codecontent'>"; |
|
58 |
}
|
|
59 |
||
60 |
function menulayoutend() |
|
61 |
{
|
|
62 |
echo "</div>"; |
|
63 |
echo "</div>"; |
|
64 |
echo "<div style='clear:both;'></div>"; |
|
65 |
echo "</body>"; |
|
66 |
}
|
|
67 |
||
68 |
function showfile($interestingrows,$keywords,$highlight,$filename) |
|
69 |
{
|
|
70 |
echo "<pre>"; |
|
71 |
$handle = @fopen($filename, "r"); |
|
72 |
if ($handle) { |
|
73 |
$lineno=1; |
|
74 |
||
75 |
$commentkind=0; |
|
76 |
$commenton=0; |
|
77 |
||
78 |
while (($buffer = fgets($handle, 4096)) !== false) { |
|
79 |
$buffer = str_replace("\n","", $buffer); |
|
80 |
$buffer = str_replace("\r","", $buffer); |
|
81 |
$buffer=str_pad($buffer,150," ", STR_PAD_RIGHT); |
|
82 |
$buffer=str_replace("&","&",$buffer); |
|
83 |
$buffer=str_replace("<","<",$buffer); |
|
84 |
$buffer=str_replace(">",">",$buffer); |
|
85 |
$buffer=str_replace("\t"," ",$buffer); |
|
86 |
||
87 |
$interesting=0; |
|
88 |
$startspan=0; |
|
89 |
foreach($interestingrows as $row){ |
|
90 |
if($lineno>=$row[0]&&$lineno<=$row[1]){ |
|
91 |
$interesting=true; |
|
92 |
}
|
|
93 |
}
|
|
94 |
||
95 |
foreach($keywords as $keyword){ |
|
96 |
if($interesting){ |
|
97 |
$buffer=str_replace($keyword,"<span class='keywordinteresting'>".$keyword."</span>",$buffer); |
|
98 |
}else{ |
|
99 |
$buffer=str_replace($keyword,"<span class='keyword'>".$keyword."</span>",$buffer); |
|
100 |
}
|
|
101 |
}
|
|
102 |
||
103 |
// Detect comments - 0 == No comment 1 == Line comment 2 == Start Comment 3 == End Comment
|
|
104 |
$commentkind=0; |
|
105 |
||
106 |
$commentpos=strpos($buffer,"/*"); |
|
107 |
||
108 |
if($commentpos>=0){ |
|
109 |
$subby=substr($buffer,$commentpos+2,1); |
|
110 |
}else{ |
|
111 |
$subby="Foo"; |
|
112 |
}
|
|
113 |
||
114 |
if($commentpos&&$subby!='"'){ |
|
115 |
$commentkind=2; |
|
116 |
$commenton=1; |
|
117 |
}
|
|
118 |
||
119 |
$commentpos=strpos($buffer,"*/"); |
|
120 |
if($commentpos){ |
|
121 |
$commentkind=3; |
|
122 |
$commenton=0; |
|
123 |
}
|
|
124 |
||
125 |
$commentpos=strpos($buffer,"//"); |
|
126 |
if($commentpos){ |
|
127 |
$commentkind=1; |
|
128 |
$commenton=0; |
|
129 |
}
|
|
130 |
||
131 |
foreach($highlight as $highlightkeyword){ |
|
132 |
$foundpos=strpos($buffer,$highlightkeyword[0]); |
|
133 |
||
134 |
// If line comment and keyword before comment marker
|
|
135 |
if(($foundpos<=$commentpos&&($commentkind==1||$commentkind==2))||($commentkind==0)||($foundpos>$commentpos&&$commentkind==3)){ |
|
136 |
if(!($commentkind==0&&$commenton==1)) $buffer=str_replace($highlightkeyword[0],"<span class='".$highlightkeyword[1]."'>".$highlightkeyword[0]."</span>",$buffer); |
|
137 |
}
|
|
138 |
||
139 |
}
|
|
140 |
||
141 |
// echo $commentkind.$commenton;
|
|
142 |
||
143 |
if($commentkind>0){ |
|
144 |
if($commentkind==1){ |
|
145 |
$buffer=str_replace("//","<span class='commented'>//",$buffer); |
|
146 |
$buffer.="</span>"; |
|
147 |
}
|
|
148 |
if($commentkind==2) $buffer=str_replace("/*","<span class='commented'>/*",$buffer); |
|
149 |
if($commentkind==3) $buffer=str_replace("*/","*/</span>",$buffer); |
|
150 |
}
|
|
151 |
||
152 |
||
153 |
$linenostr=$lineno; |
|
154 |
$linenostr=str_pad($linenostr,3," ",STR_PAD_RIGHT); |
|
155 |
||
156 |
if($interesting){ |
|
157 |
echo "<span class='interesting'>"; |
|
158 |
echo "<span class='linenointeresting'>".$linenostr."</span> "; |
|
159 |
$startspan=1; |
|
160 |
}else{ |
|
161 |
echo "<span class='lineno'>".$linenostr."</span> "; |
|
162 |
}
|
|
163 |
||
164 |
echo $buffer; |
|
165 |
||
166 |
if($startspan) echo "</span>"; |
|
167 |
||
168 |
$lineno++; |
|
169 |
||
170 |
echo "<br>"; |
|
171 |
}
|
|
172 |
if (!feof($handle)) { |
|
173 |
echo "Error: unexpected fgets() fail\n"; |
|
174 |
}
|
|
175 |
fclose($handle); |
|
176 |
}
|
|
177 |
echo "</pre>"; |
|
178 |
}
|
|
179 |
?>
|