Initial add of defaria.com
[clearscm.git] / defaria.com / bin / andromeda.php
1 <?php\r
2 # Welcome to Andromeda!\r
3 # ------------------------------------------------------------\r
4 # Thanks for choosing to evaluate Andromeda. You'll find it to\r
5 # be easy to set up, fully-featured, and highly configurable.\r
6 # To get started, please check out the online documentation:\r
7 #\r
8 #   http://www.turnstyle.com/andromeda/docs.asp\r
9 #\r
10 # To purchase your copy, please visit:\r
11 #\r
12 #   http://www.turnstyle.com/andromeda\r
13 #\r
14 # Note\r
15 # ------------------------------------------------------------\r
16 # Configure Andromeda with a preference file (don't change any\r
17 # of this code). See this page for details:\r
18 #\r
19 #   http://www.turnstyle.com/andromeda/preferences.asp\r
20 #\r
21 # If you run multiple copies of Andromeda and want this copy\r
22 # to use a different prefs file, you can change the file name\r
23 # below.\r
24 #\r
25 # Any other changes to the code violate the terms of the\r
26 # license and will prevent it from working properly.\r
27 $andromedaPrefsFileName = "andromedaPrefs.php";\r
28 \r
29 # ------------------------------------------------------------\r
30 # License Agreement\r
31 # ------------------------------------------------------------\r
32 # This software is the copyrighted material of Scott Matthews,\r
33 # Turnstyle. This document is a license agreement. By running\r
34 # this software on your computer you agree to the terms of\r
35 # this license.\r
36 #\r
37 # The Andromeda Evaluation is licensed for non-commercial,\r
38 # evaluation purposes only. The evaluation period is not to\r
39 # exceed one month, after which you agree to purchase the\r
40 # appropriately licensed version if you choose to continue\r
41 # using Andromeda.\r
42 #\r
43 # Additional licensing information is available from\r
44 # info@turnstyle.com.\r
45 #\r
46 # You agree not to copy or distribute this software or change\r
47 # the source code without prior written permission. Please\r
48 # send any questions or comments to info@turnstyle.com.\r
49\r
50 # Scott Matthews, Turnstyle takes no responsibility for any\r
51 # damage that this software might cause.\r
52\r
53 # This software is designed to provide access to collections\r
54 # of files. By using it, you agree to comply with all federal\r
55 # and state laws applicable to such content, as well as the\r
56 # terms of this license. You agree not to use this software\r
57 # to distribute or faciliate the distribution of unauthorized\r
58 # copies of copyrighted works.\r
59\r
60 # If you disagree with any of these terms, you are not\r
61 # authorized to use this software. If you do agree with these\r
62 # terms, please enjoy.\r
63\r
64 # Copyright (c)1999-2002 Scott Matthews, Turnstyle\r
65 # http://www.turnstyle.com/andromeda\r
66 # ------------------------------------------------------------\r
67 function loadConstants () {\r
68   global $andromedaConst,$SCRIPT_NAME_FIXED,$SCRIPT_PATH_FIXED,$ckServerIP,$REMOTE_ADDR;\r
69   $andromedaConst["andromedaVersion"] = "1.9.3.2 PHP";\r
70   $andromedaConst["localUser"] = ($ckServerIP == $REMOTE_ADDR);\r
71   $andromedaConst["scriptFileName"] = basename($SCRIPT_NAME_FIXED);\r
72   $andromedaConst["scriptPhysicalPath"] = parentFolder($SCRIPT_PATH_FIXED);\r
73   $andromedaConst["moduleMode"] = ($andromedaConst["scriptFileName"] == "modules.php");\r
74   if ($andromedaConst["moduleMode"]) {\r
75     $andromedaConst["scriptPhysicalPath"] .= "/modules/" . basename(dirname(__FILE__));\r
76   }\r
77   $andromedaConst["appauth"] = "Scott Matthews";\r
78   $andromedaConst["appcorp"] = "Turnstyle";\r
79   $andromedaConst["appname"] = "Andromeda";\r
80   $andromedaConst["approot"] = "http://www.turnstyle.com/andromeda";\r
81   $andromedaConst["edition"] = "";\r
82 }\r
83 \r
84 function loadDefaults () {\r
85   global $andromedaConst,$andromedaPrefs,$SCRIPT_NAME_FIXED,$SCRIPT_PATH_FIXED;\r
86   $andromedaPrefs["siteName"] = "andromeda";\r
87   $andromedaPrefs["useImageFiles"] = false;\r
88   $andromedaPrefs["imageFolderPath"] = "";\r
89   $andromedaPrefs["displayNew"] = false;\r
90   $andromedaPrefs["displayAMG"] = true;\r
91   $andromedaPrefs["mediaWebPath"] = parentFolder($SCRIPT_NAME_FIXED);\r
92   $andromedaPrefs["mediaPhysicalPath"] = str_replace("\\\\","\\",parentFolder($SCRIPT_PATH_FIXED));\r
93   if ($andromedaConst["moduleMode"]) {\r
94     $andromedaPrefs["mediaWebPath"] .= "/modules/" . basename(dirname(__FILE__));\r
95     $andromedaPrefs["mediaPhysicalPath"] .= "/modules/" . basename(dirname(__FILE__));\r
96   }\r
97   $andromedaPrefs["editMode"] = false;\r
98   $andromedaPrefs["ftpPath"] = "";\r
99   $andromedaPrefs["email"] = "";\r
100   $andromedaPrefs["permitSearch"] = true;\r
101   $andromedaPrefs["hostAddress"] = "";\r
102 //  $andromedaPrefs["customHeader"] = "<table cellspacing=0 cellpadding=4 border=0 align=center><tr><td><font size=\"2\">The Andromeda evaluation displays every other file. <a href=\"http://www.turnstyle.com/andromeda/purchase.asp\" target=_blank>[buy&nbsp;now]</a></font></td></tr></table>";\r
103 //  $andromedaPrefs["customHeader"] = "";\r
104   $andromedaPrefs["customBlock"] = "";\r
105   $andromedaPrefs["popupMaxWidth"] = 48;\r
106   $andromedaPrefs["folderAux1"] = "";\r
107   $andromedaPrefs["requireLogon"] = false;\r
108   $andromedaPrefs["localFilePlayback"] = false;\r
109   $andromedaPrefs["cBlockSize"] = 3100;\r
110   $andromedaPrefs["cBlockCount"] = 2;\r
111   $andromedaPrefs["audioFileTypes"] = "mp3,wma,wav,aif,aiff,au,ogg,ra,mid,midi";\r
112   $andromedaPrefs["videoFileTypes"] = "mpg,mpeg,mpe,asf,avi,wmv,vob,rv,rm,mov,qt";\r
113   $andromedaPrefs["playlistFileTypes"] = "m3u,asx,ram";\r
114   $andromedaPrefs["tkNumTrimCodes"] = "## - ,##_-_,##_,##.";\r
115   $andromedaPrefs["cssLinkHref"] = "";\r
116   $andromedaPrefs["playlistMime"] = "audio/x-mpegurl";\r
117   $andromedaPrefs["protocol"] = "http";\r
118   $andromedaPrefs["fileLinks"] = true;\r
119   $andromedaPrefs["playLinks"] = true;\r
120   $andromedaPrefs["permitPlaylists"] = true;\r
121   $andromedaPrefs["getID3info"] = true;\r
122   $andromedaPrefs["skipID3v1"] = false;\r
123   $andromedaPrefs["absoluteHeader"] = "";\r
124   $andromedaPrefs["absoluteFooter"] = "";\r
125   $andromedaPrefs["disableHTMLheaders"] = false;\r
126   $andromedaPrefs["includeHeader"] = "";\r
127   $andromedaPrefs["includeFooter"] = "";\r
128   $andromedaPrefs["includeJavascript"] = "";\r
129   $andromedaPrefs["folderListInfo"] = "_folderListInfo";\r
130   $andromedaPrefs["folderOpenInfo"] = "_folderOpenInfo";\r
131   $andromedaPrefs["folderListImage"] = "_folderListImage";\r
132   $andromedaPrefs["folderOpenImage"] = "_folderOpenImage";\r
133   $andromedaPrefs["folderListImageDims"] = "";\r
134   $andromedaPrefs["folderOpenImageDims"] = "";\r
135   $andromedaPrefs["skinFile"] = "andromedaSkin.txt";\r
136   $andromedaPrefs["logonFile"] = "andromedaLogons.php";\r
137   $andromedaPrefs["includeEXTM3U"] = false;\r
138   $andromedaPrefs["defaultLanguage"] = "EN";\r
139   $andromedaPrefs["globalAnnotations"] = true;\r
140   $andromedaPrefs["permitTranslation"] = true;\r
141   $andromedaPrefs["skipPrefix"] = ".";\r
142   $andromedaPrefs["folderSkipNames"] = "_private,_fpclass,_vti_cnf,_vti_pvt,_derived,_overlay,RECYCLER,Recycled,System Volume Information,Network Trash Folder";\r
143   $andromedaPrefs["checkboxDefault"] = false;\r
144   $andromedaPrefs["coreInclude"] = "";\r
145   $andromedaPrefs["moduleOnly"] = false;\r
146   $andromedaPrefs["iconSize"] = 1;\r
147   $andromedaPrefs["useExtLogon"] = false;\r
148   $andromedaPrefs["hideMenubar"] = false;\r
149   $andromedaPrefs["rootName"] = "";\r
150   $andromedaPrefs["maxPlaylistTracks"] = 5000;\r
151   $andromedaPrefs["timeout"] = "";\r
152   $andromedaPrefs["usePlaylistIcons"] = true;\r
153   $andromedaPrefs["vbrScanCount"] = 50;\r
154   $andromedaPrefs["vbrSkipCount"] = 50;\r
155   $andromedaPrefs["cbrCutoff"] = 5;\r
156   $andromedaPrefs["compactSearch"] = false;\r
157   $andromedaPrefs["logonMessage"] = "";\r
158   $andromedaPrefs["fileCount"] = true;\r
159   $andromedaPrefs["fileCountWidth"] = 20;\r
160   $andromedaPrefs["pDimentions"] = "16,16";\r
161   $andromedaPrefs["aDimentions"] = "26,16";\r
162   $andromedaPrefs["vDimentions"] = "26,16";\r
163   $andromedaPrefs["lDimentions"] = "26,16";\r
164   $andromedaPrefs["hDimentions"] = "16,16";\r
165   $andromedaPrefs["iDimentions"] = "16,16";\r
166   $andromedaPrefs["rDimentions"] = "16,16";\r
167   $andromedaPrefs["tDimentions"] = "16,16";\r
168   $andromedaPrefs["oDimentions"] = "20,16";\r
169   $andromedaPrefs["cDimentions"] = "26,16";\r
170   $andromedaPrefs["gDimentions"] = "16,16";\r
171   $andromedaPrefs["qDimentions"] = "16,16";\r
172   $andromedaPrefs["saDimentions"] = "26,16";\r
173   $andromedaPrefs["snDimentions"] = "25,16";\r
174   $andromedaPrefs["psDimentions"] = "42,16";\r
175   $andromedaPrefs["paDimentions"] = "42,16";\r
176   $andromedaPrefs["prDimentions"] = "42,16";\r
177   $andromedaPrefs["pvDimentions"] = "42,16";\r
178   $andromedaPrefs["kDimentions"] = "16,16";\r
179   $andromedaPrefs["siteWidth"] = "100%";\r
180   $andromedaPrefs["bodyBgColor"] = "9999cc";\r
181   $andromedaPrefs["bodyTextColor"] = "333333";\r
182   $andromedaPrefs["bodyLinkColor"] = "666699";\r
183   $andromedaPrefs["bodyVlinkColor"] = "996699";\r
184   $andromedaPrefs["bodyAlinkColor"] = "999966";\r
185   $andromedaPrefs["bodyMarginSize"] = "0";\r
186   $andromedaPrefs["headDiv"] = "";\r
187   $andromedaPrefs["menubarColor"] = "999999";\r
188   $andromedaPrefs["siteNameColor"] = "ffff00";\r
189   $andromedaPrefs["menubarDiv"] = "cccc99,1;9999cc,3;cccc99,1;999999,8;666666,1";\r
190   $andromedaPrefs["bodyFgColor"] = "cccc99";\r
191   $andromedaPrefs["formStyle"] = "font-size:9pt;color:000000;background-color:ffffff;";\r
192   $andromedaPrefs["bodyFgDiv"] = "999966,1;efefcc,1";\r
193   $andromedaPrefs["bodyFgToRowDiv"] = "ffffcc,1";\r
194   $andromedaPrefs["rowColor1"] = "efefd0";\r
195   $andromedaPrefs["rowColor2"] = "efefef";\r
196   $andromedaPrefs["rowLinkColor"] = "";\r
197   $andromedaPrefs["rowTextColor"] = "333333";\r
198   $andromedaPrefs["newFileColor"] = "cc6666";\r
199   $andromedaPrefs["rowDiv"] = "d0d0d0,1";\r
200   $andromedaPrefs["rowToBodyFgDiv"] = "666666,1";\r
201   $andromedaPrefs["footDiv"] = "ffffcc,1;999999,2;666666,1";\r
202 }\r
203 \r
204 function loadPrefs () {\r
205   global $andromedaConst,$andromedaPrefs,$andromedaPrefsFileName;\r
206   if (file_exists($andromedaConst["scriptPhysicalPath"] . "/" . $andromedaPrefsFileName)) {\r
207     $fcontents = file ($andromedaConst["scriptPhysicalPath"] . "/" . $andromedaPrefsFileName);\r
208     for ($i = 0; $i < count($fcontents); $i++) {\r
209       $row = $fcontents[$i];\r
210       if (substr($row,0,1) == "#") {\r
211         $rowa = explode("\t",$row);\r
212         if (count($rowa) >= 2) {\r
213           $keyval = trim(substr($rowa[0],1));\r
214           $valval = trim($rowa[count($rowa)-1]);\r
215           if ($valval == "true") {$valval = true;}\r
216           elseif ($valval == "false") {$valval = false;}\r
217           $andromedaPrefs[$keyval] = $valval;\r
218         }\r
219       }\r
220     }\r
221   }\r
222 }\r
223 \r
224 function loadSkin () {\r
225   global $andromedaConst,$andromedaPrefs;\r
226   if (file_exists($andromedaConst["scriptPhysicalPath"] . "/" . $andromedaPrefs["skinFile"])) {\r
227     $fcontents = file ($andromedaConst["scriptPhysicalPath"] . "/" . $andromedaPrefs["skinFile"]);\r
228     for ($i = 0; $i < count($fcontents); $i++) {\r
229       $row = $fcontents[$i];\r
230       $rowa = explode("\t",$row);\r
231       if (count($rowa) >= 2) {\r
232         $keyval = trim($rowa[0]);\r
233         $valval = trim($rowa[count($rowa)-1]);\r
234         if ($valval == "true") {$valval = true;}\r
235         elseif ($valval == "false") {$valval = false;}\r
236         $andromedaPrefs[$keyval] = $valval;\r
237       }\r
238     }\r
239   }\r
240 }\r
241 \r
242 function loadLogons () {\r
243   global $andromedaConst,$andromedaPrefs,$andromedaLogons;\r
244   if (file_exists($andromedaConst["scriptPhysicalPath"] . "/" . $andromedaPrefs["logonFile"])) {\r
245     $fcontents = file ($andromedaConst["scriptPhysicalPath"] . "/" . $andromedaPrefs["logonFile"]);\r
246     for ($i = 0; $i < count($fcontents); $i++) {\r
247       $row = $fcontents[$i];\r
248       if (substr($row,0,1) == "#") {\r
249         $rowa = explode("\t",$row);\r
250         if (count($rowa) >= 2) {\r
251           $keyval = trim(substr($rowa[0],1));\r
252           $valval = trim($rowa[count($rowa)-1]);\r
253           $andromedaLogons[$keyval] = $valval;\r
254         }\r
255       }\r
256     }\r
257   }\r
258 }\r
259 \r
260 function vPath ($x) {\r
261   $vpchk = true;\r
262   if ($x != "") {\r
263     $vptmpa = explode("/",str_replace("\\","/",$x));\r
264     if ($vptmpa[0] != "") {$vpchk = false;}\r
265     else {\r
266       for ($vpi = 1; $vpi < count($vptmpa); $vpi++) {\r
267         if (($vptmpa[$vpi] == "") || ($vptmpa[$vpi] == ".") || ($vptmpa[$vpi] == "..")) {\r
268           $vpchk = false;\r
269           break;\r
270         }\r
271       }\r
272     }\r
273   }\r
274   return $vpchk;\r
275 }\r
276 \r
277 function andromedaHeader ($x) {\r
278   andromedaHeaderCore($x,false);\r
279 }\r
280 \r
281 function andromedaHeaderCore ($x,$y) {\r
282   global $andromedaConst, $andromedaPrefs, $clangCodes;\r
283   if (!$andromedaPrefs["disableHTMLheaders"]) {\r
284     echo "<html><head><META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=" . $clangCodes[1] . "\"><title>" . htmlspecialchars($andromedaPrefs["siteName"] . ": " . $x) . "</title>";\r
285     if ($andromedaPrefs["cssLinkHref"] != "") {\r
286       echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"" . $andromedaPrefs["cssLinkHref"] . "\">";\r
287     }\r
288     echo "<script";\r
289     if ($andromedaPrefs["includeJavascript"] != "") {\r
290       echo " src=\"" . $andromedaPrefs["includeJavascript"] . "\"";\r
291     }\r
292     echo "></script></head><body bgcolor=\"" . $andromedaPrefs["bodyBgColor"] . "\" text=\"" . $andromedaPrefs["bodyTextColor"] . "\" link=\"" . $andromedaPrefs["bodyLinkColor"] . "\" vlink=\"" . $andromedaPrefs["bodyVlinkColor"] . "\" alink=\"" . $andromedaPrefs["bodyAlinkColor"] . "\" topmargin=\"" . $andromedaPrefs["bodyMarginSize"] . "\" leftmargin=\"" . $andromedaPrefs["bodyMarginSize"] . "\" marginheight=\"" . $andromedaPrefs["bodyMarginSize"] . "\" marginwidth=\"" . $andromedaPrefs["bodyMarginSize"] . "\">";\r
293   }\r
294   if ($y) {\r
295     echo "<script language=javascript><!--\nlocation.replace(\"" . andrLink("","") . "\");//--></script>";\r
296   }\r
297   if ($andromedaConst["moduleMode"]) {include("header.php");\r
298   } else {\r
299     if ($andromedaPrefs["includeHeader"] != "") {\r
300       include($andromedaPrefs["includeHeader"]);\r
301     }\r
302   }\r
303   echo $andromedaPrefs["absoluteHeader"];\r
304   echo "<center>";\r
305   colorbars($andromedaPrefs["headDiv"]);\r
306   if (!$andromedaPrefs["hideMenubar"]) {\r
307     echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["menubarColor"] . "\"><tr><td><table cellspacing=0 cellpadding=0 border=0><tr><td><a href=" . andrLink("","") . ">";\r
308     imagetag("h","i",trans(17));\r
309     echo "</a></td><td>";\r
310     ipad(4,1);\r
311     echo "</td><td><font size=\"2\" face=\"helvetica,arial\" color=\"" . $andromedaPrefs["siteNameColor"] . "\"><b><i>" . $andromedaPrefs["siteName"] . "</i></b></font></td></tr></table></td><td align=right><table cellspacing=0 cellpadding=0 border=0><tr>";\r
312     if ($andromedaPrefs["ftpPath"] != "") {\r
313       echo "<td><a href=\"" . $andromedaPrefs["ftpPath"] . "\" target=ftp>";\r
314       imagetag("t","i",trans(20));\r
315       echo "</a></td><td>";\r
316       ipad(4,1);\r
317       echo "</td>";\r
318     }\r
319     echo "<td><a href=\"" . $andromedaConst["approot"] . "\" target=_top>";\r
320     imagetag("i","i",$andromedaConst["appname"] . ": " . trans(17));\r
321     echo "</a></td></tr></table>";\r
322     echo "</td></tr></table>";\r
323     colorbars($andromedaPrefs["menubarDiv"]);\r
324   }\r
325   if ($andromedaPrefs["customHeader"] != "") {\r
326     echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\"><tr><td><font size=\"2\"";\r
327     if ($andromedaPrefs["disableHTMLheaders"]) {echo " color=" . $andromedaPrefs["bodyTextColor"];}\r
328     echo ">" . $andromedaPrefs["customHeader"] . "</font></td></tr></table>";\r
329     colorbars($andromedaPrefs["bodyFgDiv"]);\r
330   }\r
331   flush();\r
332 }\r
333 \r
334 function andromedaFooter () {\r
335   global $andromedaPrefs, $andromedaConst, $rosetta, $currentLanguage, $clangCodes;\r
336   if ($andromedaPrefs["customBlock"] != "") {\r
337     echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\"><tr><td align=center><font size=\"2\"";\r
338     if ($andromedaPrefs["disableHTMLheaders"]) {\r
339       echo " color=" . $andromedaPrefs["bodyTextColor"];\r
340     }\r
341     echo ">" . $andromedaPrefs["customBlock"] . "</font></td></tr></table>";\r
342     colorbars($andromedaPrefs["bodyFgDiv"]);\r
343   }\r
344   echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\"><tr><td align=center><font size=\"2\"";\r
345   if ($andromedaPrefs["disableHTMLheaders"]) {\r
346     echo " color=" . $andromedaPrefs["bodyTextColor"];\r
347   }\r
348   echo ">";\r
349   //addvpad(12);\r
350   //if ($andromedaPrefs["email"] != "") {\r
351     //echo trans(26) . " &raquo; ";\r
352     //if ($andromedaPrefs["disableHTMLheaders"]) {\r
353       //echo "<a href=\"mailto:" . $andromedaPrefs["email"] . "\" style=\"color:" . $andromedaPrefs["bodyLinkColor"] . "\"><font color=\"" . $andromedaPrefs["bodyLinkColor"] . "\">" . $andromedaPrefs["email"] . "</font></a>";\r
354     //} else {\r
355       //echo "<a href=\"mailto:" . $andromedaPrefs["email"] . "\">" . $andromedaPrefs["email"] . "</a>";\r
356     //}\r
357     //addvpad(12);\r
358   //}\r
359   if ($andromedaPrefs["permitTranslation"]) {\r
360     echo "<table cellspacing=0 cellpadding=0 border=0><form method=get action=" . $andromedaConst["scriptFileName"] . ">";\r
361     if ($andromedaConst["moduleMode"]) {\r
362       echo "<input type=hidden name=op value=modload><input type=hidden name=name value=\"" . basename(dirname(__FILE__)) . "\"><input type=hidden name=file value=\"" . getbasename(basename(__FILE__)) . "\">";\r
363     }\r
364     echo "<input type=hidden name=q value=t><tr><td><select name=t style=\"" . $andromedaPrefs["formStyle"] . "\" onChange=\"javascript:window.location.href = '" . andrLink("?q=t&t=","") . "' + options[selectedIndex].value;\">";\r
365     while (list($k, $v) = each ($rosetta)) {\r
366       $clangCodesTmp = explode("\t",$rosetta[$k][0]);\r
367       echo "<option value=" . $k;\r
368       if ($k == $currentLanguage) {\r
369         echo " selected";\r
370       }\r
371       echo ">";\r
372       if ($clangCodesTmp[1] == $clangCodes[1]) {\r
373         echo $v[1];\r
374       } else {\r
375         echo $clangCodesTmp[2];\r
376       }\r
377     }\r
378     echo "</select></td><noscript><td>";\r
379     ipad(4,1);\r
380     echo "</td><td>";\r
381     imagetag("g","f","");\r
382     echo "</td></noscript></tr></form></table>";\r
383     addvpad(12);\r
384   }\r
385   $ptag = trans(27);\r
386   if ($andromedaPrefs["disableHTMLheaders"]) {\r
387     $ptag = str_replace("#a","<a href=\"" . $andromedaConst["approot"] . "\" target=_top style=\"color:" . $andromedaPrefs["bodyLinkColor"] . "\"><font color=\"" . $andromedaPrefs["bodyLinkColor"] . "\">" . $andromedaConst["appname"] . "</font></a>",$ptag);\r
388   } else {\r
389     $ptag = str_replace("#a","<a href=\"" . $andromedaConst["approot"] . "\" target=_top>" . $andromedaConst["appname"] . "</a>",$ptag);\r
390   }\r
391   echo str_replace("##",$andromedaConst["andromedaVersion"],$ptag);\r
392   addvpad(16);\r
393   echo $andromedaConst[ca2s(array(101,100,105,116,105,111,110))] ;\r
394   addvpad(6);\r
395   echo "</font></td></tr></table>";\r
396   colorbars($andromedaPrefs["footDiv"]);\r
397   echo "</center>";\r
398   echo $andromedaPrefs["absoluteFooter"];\r
399   if ($andromedaConst["moduleMode"]) {\r
400     include("footer.php");\r
401   } else {\r
402     if ($andromedaPrefs["includeFooter"] != "") {\r
403       include($andromedaPrefs["includeFooter"]);\r
404     }\r
405   }\r
406   if (!$andromedaPrefs["disableHTMLheaders"]) {\r
407     echo "</body></html>";\r
408   }\r
409   echo "<!--\n\n\n\n\n\t| " . $andromedaPrefs["siteName"] . "\n\t|\n\t| " . str_replace("##",$andromedaConst["andromedaVersion"],str_replace("#a",$andromedaConst["appname"],trans(27))) . "\n\t| " . $andromedaConst["edition"] . "\n\t| (c)" . date("Y"). " " . $andromedaConst["appauth"] . ", " . $andromedaConst["appcorp"] . "\n\t| " . $andromedaConst["approot"] ."\n\n\n\n-->";\r
410 }\r
411 \r
412 function showfolder ($x) {\r
413   global $andromedaPrefs, $totalrowcount;\r
414   if (file_exists($andromedaPrefs["mediaPhysicalPath"] . $x)) {\r
415     $folderName = displayName($x,false);\r
416     andromedaHeader($folderName);\r
417     folderOpenNote($x . "/" . $andromedaPrefs["folderOpenInfo"] . ".txt");\r
418     navbar3($x,"browse");\r
419     if ($andromedaPrefs["permitPlaylists"]) {\r
420       playlistFormHead(true);\r
421     }\r
422     colorbars($andromedaPrefs["bodyFgToRowDiv"]);\r
423     $subfolders = getsubfolders($x);\r
424     for ($i = 0; $i < count($subfolders); $i++) {\r
425       folderrow($x . "/" . $subfolders[$i],false,true);\r
426       rowNote($x . "/" . $subfolders[$i] . "/" . $andromedaPrefs["folderListInfo"] . ".txt",$x . "/" . $subfolders[$i]);\r
427       flush();\r
428     }\r
429     $mp3s = getmp3s($x);\r
430     for ($i = 0; $i < count($mp3s); $i++) {\r
431       filerow($x . "/" . $mp3s[$i],false,true);\r
432       rowNote($x . "/" . getbasename($mp3s[$i]) . ".txt","");\r
433       flush();\r
434     }\r
435     colorbars($andromedaPrefs["rowToBodyFgDiv"]);\r
436     if ($andromedaPrefs["permitPlaylists"]) {\r
437       playlistFormFoot(true);\r
438     }\r
439     displayAMG($folderName,isAlbum($x));\r
440     andromedaFooter();\r
441   } else {fourOfour ();\r
442   }\r
443 }\r
444 \r
445 function fourOfour () {\r
446   global $andromedaPrefs;\r
447   andromedaHeader(trans(40));\r
448   echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\" height=220><tr><td align=center>";\r
449   if ($andromedaPrefs["disableHTMLheaders"]) {\r
450     echo "<font color=" . $andromedaPrefs["bodyTextColor"] . ">";\r
451   }\r
452   echo trans(40) . ". " . trans(43) . ", ";\r
453   if ($andromedaPrefs["disableHTMLheaders"]) {\r
454     echo "<a href=" . andrLink("","") . " style=\"color:" . $andromedaPrefs["bodyLinkColor"] . "\"><font color=\"" . $andromedaPrefs["bodyLinkColor"] . "\">" . trans(42) . "</font></a>";\r
455   } else {\r
456     echo "<a href=" . andrLink("","") . ">" . trans(42) . "</a>";\r
457   }\r
458   echo ".";\r
459   if ($andromedaPrefs["disableHTMLheaders"]) {\r
460     echo "</font>";\r
461   }\r
462   echo "</td></tr></table>";\r
463   colorbars($andromedaPrefs["bodyFgDiv"]);\r
464   andromedaFooter();\r
465 }\r
466 \r
467 function navbar3 ($x,$y) {\r
468   global $andromedaConst, $andromedaPrefs, $ckplaylist;\r
469   if ($andromedaPrefs["permitSearch"]) {\r
470     if ($y == "search") {\r
471       searchbar($x);\r
472     } else {searchbar("");\r
473     }\r
474     colorbars($andromedaPrefs["bodyFgDiv"]);\r
475   }\r
476   if (!(($x == "") && ($y == "browse"))) {\r
477     echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\"><tr><td><table cellspacing=0 cellpadding=0 border=0><tr><td>";\r
478     imagetag("o","i","");\r
479     echo "</td><td>";\r
480     drill2(parentFolder($x),2);\r
481     echo "</td></tr></table></td></tr></table>";\r
482     colorbars($andromedaPrefs["bodyFgDiv"]);\r
483   }\r
484   if ($y == "browse") {\r
485     if ($x == "") {\r
486       $sidestep = false;\r
487     } else {\r
488       $sidestep = (subfolderCount(parentFolder($x)) > 1);\r
489     }\r
490     if ($andromedaPrefs["playLinks"]) {\r
491       $playalbum = playable($x);\r
492     }\r
493   }\r
494   echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\"><tr><td><table cellspacing=0 cellpadding=0 border=0><tr>";\r
495   if (($x == "") && ($y == "browse")) {\r
496     echo "<td>";\r
497     imagetag("o","i","");\r
498     echo "</td>";\r
499   }\r
500   if ($sidestep) {\r
501     echo "<form method=get action=" . $andromedaConst["scriptFileName"] . ">";\r
502     if ($andromedaConst["moduleMode"]) {\r
503       echo "<input type=hidden name=op value=modload><input type=hidden name=name value=\"" . basename(dirname(__FILE__)) . "\"><input type=hidden name=file value=\"" . getbasename(basename(__FILE__)) . "\">";\r
504     }\r
505     echo "<input type=hidden name=q value=f>";\r
506   }\r
507   if (($x == "") && ($y == "browse")) {\r
508     echo "<td><font size=\"2\"";\r
509     if ($andromedaPrefs["disableHTMLheaders"]) {\r
510       echo " color=" . $andromedaPrefs["bodyTextColor"];\r
511     }\r
512     echo "><b>" . $andromedaPrefs["rootName"] . "</b></font></td>";\r
513   } elseif ($y == "search") {\r
514     echo "<td><font size=\"2\"";\r
515     if ($andromedaPrefs["disableHTMLheaders"]) {echo " color=" . $andromedaPrefs["bodyTextColor"];}\r
516     echo "><b>" . "[" . $x . "] " . trans(37) . "</b></font></td>";\r
517   } elseif ($y == "playlist") {\r
518     echo "<td><font size=\"2\"";\r
519     if ($andromedaPrefs["disableHTMLheaders"]) {\r
520       echo " color=" . $andromedaPrefs["bodyTextColor"];\r
521     }\r
522     echo "><b>" . $x . "</b></font></td>";\r
523   } else {\r
524     if ($sidestep) {\r
525       echo "<td><font></font><select name=f style=\"" . $andromedaPrefs["formStyle"] . "\" onChange=\"javascript:window.location.href='" . andrLink("?q=f&f=","") . "' + escape(options[selectedIndex].value).replace(/\+/g,'%2B');\">";\r
526       $subfolders = getsubfolders(parentFolder($x));\r
527       for ($i = 0; $i < count($subfolders); $i++) {\r
528         echo "<option value=\"" . parentFolder($x) . "/" . $subfolders[$i] . "\"";\r
529         if ($x == parentFolder($x) . "/" . $subfolders[$i]) {\r
530           echo " selected";\r
531         }\r
532         echo ">" . limitName(displayName($subfolders[$i],false));\r
533       }\r
534       echo "</select></td><noscript><td>";\r
535       ipad(4,1);\r
536       echo "</td><td>";\r
537       imagetag("g","f","");\r
538       echo "</td></noscript>";\r
539     } else {\r
540       echo "<td><font size=\"2\"";\r
541       if ($andromedaPrefs["disableHTMLheaders"]) {\r
542         echo " color=" . $andromedaPrefs["bodyTextColor"];\r
543       }\r
544       echo "><b>" . displayName($x,false) . "</b></font></td>";\r
545     }\r
546   }\r
547   if ($sidestep) {\r
548     echo "</form>";\r
549   }\r
550   if ($andromedaPrefs["folderAux1"] != "") {\r
551     echo "<td>";\r
552     ipad(4,1);\r
553     echo "</td><td><a href=\"" . $andromedaPrefs["folderAux1"] . urlencode($x) . "\">";\r
554     imagetag ("q","i","discuss");\r
555     echo "</a></td>";\r
556   }\r
557   if (($y == "playlist") && ($ckplaylist != "") && $andromedaPrefs["playLinks"]) {\r
558     echo "<td>";\r
559     ipad(4,1);\r
560     echo "</td><td><a href=" . andrLink("?q=y&y=p","") . ">";\r
561     imagetag("p","i",trans(11));\r
562     echo "</a></td>";\r
563   }\r
564   if ($playalbum) {\r
565     echo "<td>";\r
566     ipad(4,1);\r
567     echo "</td><td>";\r
568     playFolderButton($x);\r
569     echo "</td>";\r
570   }\r
571   if ($x == "") {\r
572     $metadisplay = $andromedaPrefs["mediaPhysicalPath"];\r
573   } else {\r
574     $metadisplay = $x;\r
575   }\r
576   if ($y == "browse") {\r
577     $metapath = "/" . $andromedaPrefs["rootName"] . $x;} else {\r
578     $metapath = "/" . $andromedaPrefs["rootName"] . "/" . $x;\r
579   }\r
580   echo "<td>";\r
581   ipad(4,1);\r
582   echo "</td>";\r
583   echo "<td><a href=\"". $andromedaConst["approot"] . "/meta.asp?p=" . urlencode($metapath) . "\" target=_blank>";\r
584   imagetag("k","i",$andromedaConst["appname"] . ": " . displayname($metadisplay,false));\r
585   echo "</a></td>";\r
586   echo "</tr></table></td></tr></table>";\r
587   flush();\r
588 }\r
589 \r
590 function folderOpenNote ($x) {\r
591   global $andromedaPrefs, $currentLanguage;\r
592   if ($andromedaPrefs["globalAnnotations"] || ($andromedaPrefs["defaultLanguage"] == $currentLanguage)) {\r
593     if (file_exists($andromedaPrefs["mediaPhysicalPath"] . parentFolder($x) . "/" . $andromedaPrefs["folderOpenImage"] . ".jpg")) {\r
594       $folderImageExt = ".jpg";\r
595     } elseif (file_exists($andromedaPrefs["mediaPhysicalPath"] . parentFolder($x) . "/" . $andromedaPrefs["folderOpenImage"] . ".gif")) {\r
596       $folderImageExt = ".gif";\r
597     }\r
598     if (file_exists($andromedaPrefs["mediaPhysicalPath"] . $x)) {\r
599       $fd = fopen($andromedaPrefs["mediaPhysicalPath"] . $x, "r");\r
600       $note = fread($fd, filesize($andromedaPrefs["mediaPhysicalPath"] . $x));\r
601       fclose ($fd);\r
602     }\r
603     if (($folderImageExt != "") || ($note != "")) {\r
604       echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\"><tr>";\r
605       if ($note != "") {\r
606         echo "<td align=center><table cellspacing=0 cellpadding=0 border=0><tr><td><font size=\"2\"";\r
607         if ($andromedaPrefs["disableHTMLheaders"]) {\r
608           echo " color=" . $andromedaPrefs["bodyTextColor"];\r
609         }\r
610         echo ">" . $note ."</font></td></tr></table></td>";\r
611       }\r
612       if ($folderImageExt != "") {\r
613         if ($andromedaPrefs["folderOpenImageDims"] != "") {\r
614           $ittmpa = explode(",",$andromedaPrefs["folderOpenImageDims"]);\r
615           $imgdimtag = " width=" . $ittmpa[0] . " height=" . $ittmpa[1];\r
616         } else {\r
617           $imgdimtag = "";\r
618         }\r
619         echo "<td align=center><img src=\"" . mkMediaWebPath(parentFolder($x) . "/" . $andromedaPrefs["folderOpenImage"] . $folderImageExt) . "\"" . $imgdimtag . "></td>";\r
620       }\r
621       echo "</tr></table>";\r
622       colorbars($andromedaPrefs["bodyFgDiv"]);\r
623     }\r
624   }\r
625 }\r
626 \r
627 function folderrow ($x,$d,$m) {\r
628   global $andromedaPrefs,$totalrowcount;\r
629   $totalrowcount = $totalrowcount + 1;\r
630   $mysubfolderCount = subfolderCount($x);\r
631   $myfileCount = fileCount($x);\r
632   if ($totalrowcount != 1) {\r
633     colorBars($andromedaPrefs["rowDiv"]);\r
634   }\r
635   echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=" . switchrow($totalrowcount,$andromedaPrefs["rowColor1"],$andromedaPrefs["rowColor2"]) . "><tr><td valign=top>";\r
636   if ($d) {\r
637     drill2(parentFolder($x),1);\r
638     addvpad(8);\r
639   }\r
640   echo "<table cellspacing=0 cellpadding=0 border=0><tr>";\r
641   if ($andromedaPrefs["permitPlaylists"]) {\r
642     echo "<td valign=top><input type=checkbox name=\"f[]\" value=\"";\r
643     if ($m) {\r
644       echo "o" . $x;\r
645     } else {\r
646       echo $totalrowcount;\r
647     }\r
648     echo "\"";\r
649     if ($andromedaPrefs["checkboxDefault"]) {\r
650       echo " checked";\r
651     }\r
652     echo "></td>";\r
653   }\r
654   echo "<td valign=top><a href=" . folderLink($x) . ">";\r
655   imagetag("c","i","");\r
656   echo "</a></td><td valign=top>";\r
657   if (($andromedaPrefs["disableHTMLheaders"] || ($andromedaPrefs["rowLinkColor"] != $andromedaPrefs["bodyLinkColor"])) && $andromedaPrefs["rowLinkColor"] != "") {\r
658     echo "<a href=" . folderLink($x) . " style=\"color:" . $andromedaPrefs["rowLinkColor"] . "\"><font size=\"2\" color=\"" . $andromedaPrefs["rowLinkColor"] . "\">" . displayName($x,false) . "</font></a>";\r
659   } else {\r
660     echo "<a href=" . folderLink($x) . "><font size=\"2\">" . displayName($x,false) . "</font></a>";\r
661   }\r
662   if ($andromedaPrefs["displayNew"]) {\r
663     echo displaynew(newestfile($x));\r
664   }\r
665   echo "</td></tr></table></td><td align=right>";\r
666   if (($mysubfolderCount == 0) && ($myfileCount == 0)) {\r
667     $desc2 = "&nbsp;";\r
668   }\r
669   if (($mysubfolderCount > 1) && ($myfileCount == 0)) {\r
670     $desc2 = $mysubfolderCount . "&nbsp;" . trans(5);\r
671     $link2 = folderLink($x);\r
672   }\r
673   if (($mysubfolderCount == 0) && ($myfileCount > 0)) {\r
674     $desc2 = $myfileCount . "&nbsp;" . ifps2($myfileCount,trans(2),trans(3));\r
675     $link2 = folderLink($x);\r
676   }\r
677   if (($mysubfolderCount > 0) && ($myfileCount > 0)) {\r
678     $desc2 = $mysubfolderCount . "&nbsp;". ifps2($mysubfolderCount,trans(4),trans(5)) . ", " . $myfileCount . "&nbsp;" . ifps2($myfileCount,trans(2),trans(3));\r
679     $link2 = folderLink($x);\r
680   }\r
681   if (($mysubfolderCount == 1) && ($myfileCount == 0)) {\r
682     $tyty = getsubfolders($x);\r
683     $desc2 = displayName($tyty[0],false);\r
684     $link2 = folderLink($x . "/" . $tyty[0]);\r
685   }\r
686   if ($link2 != "") {\r
687     if (($andromedaPrefs["disableHTMLheaders"] || ($andromedaPrefs["rowLinkColor"] != $andromedaPrefs["bodyLinkColor"])) && $andromedaPrefs["rowLinkColor"] != "") {\r
688       $desc2 = "<a href=" . $link2 . " style=\"color:" . $andromedaPrefs["rowLinkColor"] . "\"><font size=\"1\" color=\"" . $andromedaPrefs["rowLinkColor"] . "\">" . $desc2 . "</font></a>";\r
689     } else {\r
690       $desc2 = "<a href=" . $link2 . "><font size=\"1\">" . $desc2 . "</font></a>";}\r
691   } else {\r
692     $desc2 = "<font size=\"1\">" . $desc2 . "</font>";\r
693   }\r
694   if ($andromedaPrefs["playLinks"]) {\r
695     if (playable($x)) {\r
696       echo "<table cellspacing=0 cellpadding=0 border=0><tr><td align=right>";\r
697       echo $desc2;\r
698       echo "</td><td>";\r
699       ipad(4,1);\r
700       echo "</td><td>";\r
701       playFolderButton($x);\r
702       echo "</td></tr></table>";\r
703     } else {echo $desc2;}\r
704   } else {\r
705     echo $desc2;\r
706   }\r
707   echo "</td></tr></table>";\r
708 }\r
709 \r
710 function filerow ($x,$d,$m) {\r
711   global $andromedaConst, $andromedaPrefs, $totalrowcount, $filerowcount, $fileTypes;\r
712   $thisfiletype = strtolower(getextention($x));\r
713   $thisfilesize = filesize($andromedaPrefs["mediaPhysicalPath"] . $x);\r
714   if ($andromedaPrefs["getID3info"] && ($thisfiletype == "mp3") && ($thisfilesize > 0)) {\r
715     $fp = fopen($andromedaPrefs["mediaPhysicalPath"] . $x,"rb");\r
716     $mp3Length = "";\r
717     $mp3Album = "";\r
718     $mp3Artist = "";\r
719     $mp3TrackName = "";\r
720     $mp3Quality = "";\r
721     $fpp = 0;\r
722     for ($i = 0; $i <= 9; $i++) {\r
723       $bb[$i] = ord(fread($fp,1));\r
724     }\r
725     $fpp = $fpp + 10;\r
726     $validID3v2header = (($bb[0] == 73) && ($bb[1] == 68) && ($bb[2] == 51) && ($bb[3] < 255) && ($bb[4] < 255) && ($bb[5] == ($bb[5] & 240)) && ($bb[6] == 0) && ($bb[7] < 128) && ($bb[8] < 128) && ($bb[9] < 128));\r
727     if ($validID3v2header) {\r
728       $ID3size = $bb[7] * 128 * 128 + $bb[8] * 128 + $bb[9];\r
729       $extendedHeader = ($bb[5] & 64) / 64;\r
730       $footerPresent = ($bb[5] & 16) / 16;\r
731       $totalID3size = 10 + $ID3size + $footerPresent * 10;\r
732       if ($extendedHeader == 1) {\r
733         for ($i = 0; $i <= 5; $i++) {\r
734           $bb[$i] = ord(fread($fp,1));\r
735         }\r
736         $fpp = $fpp + 6;\r
737         $extendedHeaderSize = $bb[1] * 128 * 128 + $bb[2] * 128 + $bb[3];\r
738         fseek($fp,10 + $extendedHeaderSize);\r
739         $fpp = 10 + $extendedHeaderSize;\r
740       }\r
741       for ($i = 0; $i <= 9; $i++) {\r
742         $bb[$i] = ord(fread($fp,1));\r
743       }\r
744       $fpp = $fpp + 10;\r
745       while (((($bb[0] >= 48) && ($bb[0] <= 57)) || (($bb[0] >= 65) && ($bb[0] <= 90))) && ((($bb[1] >= 48) && ($bb[1] <= 57)) || (($bb[1] >= 65) && ($bb[1] <= 90))) && ((($bb[2] >= 48) && ($bb[2] <= 57)) || (($bb[2] >= 65) && ($bb[2] <= 90))) && ((($bb[3] >= 48) && ($bb[3] <= 57)) || (($bb[3] >= 65) && ($bb[3] <= 90))) && ($bb[4] == 0) && ($bb[5] < 128) && ($bb[6] < 128) && ($bb[7] < 128)) {\r
746         $ID3frameID = chr($bb[0]) . chr($bb[1]) . chr($bb[2]) . chr($bb[3]);\r
747         $ID3frameSize = $bb[5] * 128 * 128 + $bb[6] * 128 + $bb[7];\r
748         if ($ID3frameSize > 0) {\r
749           $ID3frameVal = fread($fp,$ID3frameSize);\r
750           $ID3frameVal = substr($ID3frameVal,1,strlen($ID3frameVal)-1);\r
751           $fpp = $fpp + $ID3frameSize;\r
752         } else {\r
753           $ID3frameVal = "";\r
754         }\r
755         if ($ID3frameID == "TLEN") {\r
756           $mp3Length = $ID3frameVal / 1000;\r
757         } elseif ($ID3frameID == "TALB") {\r
758           $mp3Album = $ID3frameVal;\r
759         } elseif ($ID3frameID == "TPE1") {\r
760           $mp3Artist = $ID3frameVal;\r
761         } elseif ($ID3frameID == "TIT2") {\r
762           $mp3TrackName = $ID3frameVal;\r
763         }\r
764         for ($i = 0; $i <= 9; $i++) {\r
765           $bb[$i] = ord(fread($fp,1));\r
766         }\r
767         $fpp = $fpp + 10;\r
768       }\r
769       $offset = $totalID3size - $fpp;\r
770       if ($offset >= 0) {\r
771         fseek($fp,$totalID3size);\r
772         $fpp = $totalID3size;\r
773         for ($i = 0; $i <= 3; $i++) {\r
774           $bb[$i] = ord(fread($fp,1));\r
775         }\r
776         $fpp = $fpp + 4;\r
777       } else {\r
778         for ($i = 1; $i <= (-1 * $offset); $i++) {\r
779           $bb[$i-1] = $bb[10 + $offset + $i - 1];\r
780         }\r
781         if ((4 + $offset) > 0) {\r
782           for ($i = (-1 * $offset); $i <= 3; $i++) {\r
783             $bb[$i] = ord(fread($fp,1));\r
784             $fpp = $fpp + 1;\r
785           }\r
786         }\r
787       }\r
788     }\r
789     $cbr = true;\r
790     for ($xox = 1; $xox <= ($andromedaPrefs["vbrScanCount"] + $andromedaPrefs["vbrSkipCount"]); $xox++) {\r
791       $mpegVersion = ($bb[1] & 24) / 8;\r
792       $layer = ($bb[1] & 6) / 2;\r
793       $protection = ($bb[1] & 1);\r
794       $bitrate = ($bb[2] & 240) / 16;\r
795       $samplefrequency = ($bb[2] & 12) / 4;\r
796       $padded = ($bb[2] & 2) / 2;\r
797       $channelMode = ($bb[3] & 192) / 64;\r
798       $validMP3frame = (($bb[0] == 255) && ($bb[1] >= 224) && ($mpegVersion != 1) && ($layer != 0) && ($bitrate != 0) && ($bitrate != 15) && ($samplefrequency != 3));\r
799       if ($validMP3frame) {\r
800         if ($mpegVersion == 3) {\r
801           if ($layer == 3) {\r
802             $column = 1;\r
803           } elseif ($layer == 2) {\r
804             $column = 2;\r
805           } elseif ($layer == 1) {\r
806             $column = 3;\r
807           }\r
808           if ($samplefrequency == 0) {\r
809             $samplefrequencyD = 44100;\r
810           } elseif ($samplefrequency == 1) {\r
811             $samplefrequencyD = 48000;\r
812           } elseif ($samplefrequency == 2) {\r
813             $samplefrequencyD = 32000;\r
814           }\r
815         } elseif ($mpegVersion == 2) {\r
816           if ($layer == 3) {\r
817             $column = 4;\r
818           } elseif ($layer == 2) {\r
819             $column = 5;\r
820           } elseif ($layer == 1) {\r
821             $column = 5;\r
822           }\r
823           if ($samplefrequency == 0) {\r
824             $samplefrequencyD = 22050;\r
825           } elseif ($samplefrequency == 1) {\r
826             $samplefrequencyD = 24000;\r
827           } elseif ($samplefrequency == 2) {\r
828             $samplefrequencyD = 16000;\r
829           }\r
830         } elseif ($mpegVersion == 0) {\r
831           if ($layer == 3) {\r
832             $column = 4;\r
833           } elseif ($layer == 2) {\r
834             $column = 5;\r
835           } elseif ($layer == 1) {\r
836             $column = 5;\r
837           }\r
838           if ($samplefrequency == 0) {\r
839             $samplefrequencyD = 11025;\r
840           } elseif ($samplefrequency == 1) {\r
841             $samplefrequencyD = 12000;\r
842           } elseif ($samplefrequency == 2) {\r
843             $samplefrequencyD = 8000;\r
844           }\r
845         }\r
846         $bitrateDataA = array(32,32,32,32,8,64,48,40,48,16,96,56,48,56,24,128,64,56,64,32,160,80,64,80,40,192,96,80,96,48,224,112,96,112,56,256,128,112,128,64,288,160,128,144,80,320,192,160,160,96,352,224,192,176,112,384,256,224,192,128,416,320,256,224,144,448,384,320,256,160);\r
847         $bitrateD = $bitrateDataA[($bitrate - 1) * 5 + $column - 1];\r
848         if (($bitrateD != $prevbitrateD) && ($prevbitrateD != "")) {\r
849           $cbr = false;\r
850         }\r
851         $prevbitrateD = $bitrateD;\r
852         if ($channelMode == 0) {\r
853           $channelModeD = "Stereo";\r
854         } elseif ($channelMode == 1) {\r
855           $channelModeD = "Joint Stereo";\r
856         } elseif ($channelMode == 2) {\r
857           $channelModeD = "Dual Channel";\r
858         } elseif ($channelMode == 3) {\r
859           $channelModeD = "Single channel (Mono)";\r
860         }\r
861         if (($layer == 1) || ($layer == 2)) {\r
862           $framesize = floor((144 * 1000 * $bitrateD) / $samplefrequencyD) + $padded;\r
863         } elseif ($layer == 3) {\r
864           $framesize = floor(12 * 1000 * $bitrateD / $samplefrequencyD + $padded) * 4;\r
865         }\r
866         if ($xox > $andromedaPrefs["vbrSkipCount"]) {\r
867           $avgbitrateD += $bitrateD;\r
868         }\r
869         if (($xox >= $andromedaPrefs["cbrCutoff"]) && $cbr) {\r
870           break;\r
871         }\r
872       } else {\r
873         $bitrateD = "";\r
874         break;\r
875       }\r
876       if ($xox == 1) {\r
877         if ($validID3v2header) {\r
878           $cursor = $framesize-4;\r
879         } else {\r
880           $cursor = $framesize-10;\r
881         }\r
882       } else {$cursor = $framesize-4;\r
883       }\r
884       if ($fpp + $cursor < $thisfilesize) {\r
885         $skip = ord(fread($fp,$cursor));\r
886         $fpp = $fpp + $cursor;\r
887         for ($i = 0; $i <= 3; $i++) {\r
888           $bb[$i] = ord(fread($fp,1));\r
889         }\r
890         $fpp = $fpp + 4;\r
891       } else {\r
892         break;\r
893       }\r
894     }\r
895     if ($bitrateD != "") {\r
896       if ($cbr) {\r
897         if ($mp3Length == "") {\r
898           $mp3Length = round($thisfilesize / ($bitrateD * 1000 / 8));\r
899         }\r
900         $mp3Quality = $bitrateD . "&nbsp;Kbit/s";\r
901       } else {\r
902         if ($mp3Length == "") {\r
903           $mp3Length = round($thisfilesize / ($avgbitrateD/($xox-1-$andromedaPrefs["vbrSkipCount"]) * 1000 / 8));\r
904         }\r
905         $mp3Quality = round($avgbitrateD/($xox-1-$andromedaPrefs["vbrSkipCount"])) . "&nbsp;Kbit/s&nbsp;VBR";\r
906       }\r
907     }\r
908     if (!$andromedaPrefs["skipID3v1"] && ($mp3TrackName == "")) {\r
909       fseek($fp,$thisfilesize - 128);\r
910       $id3v1tag = strtoupper(fread($fp,3));\r
911       if (($id3v1tag == "ID3") || ($id3v1tag == "TAG")) {\r
912         $id3v1Title = trim(fread($fp,30));\r
913         $id3v1Artist = trim(fread($fp,30));\r
914         $id3v1Album = trim(fread($fp,30));\r
915         $id3v1Year = trim(fread($fp,4));\r
916         $id3v1Comment = trim(fread($fp,28));\r
917         $id3v12skip = ord(fread($fp,1));\r
918         $id3v12number = ord(fread($fp,1));\r
919         $id3v1Genre = ord(fread($fp,1));\r
920         if ($mp3Album == "") {\r
921           $mp3Album = $id3v1Album;\r
922         }\r
923         if ($mp3Artist == "") {\r
924           $mp3Artist = $id3v1Artist;\r
925         }\r
926         if ($mp3TrackName == "") {\r
927           $mp3TrackName = $id3v1Title;\r
928         }\r
929       }\r
930     }\r
931     if (substr($mp3Album,0,2) == "ÿþ") {\r
932       $mp3Album = substr($mp3Album,2);\r
933     }\r
934     if (substr($mp3Artist,0,2) == "ÿþ") {\r
935       $mp3Artist = substr($mp3Artist,2);\r
936     }\r
937     if (substr($mp3TrackName,0,2) == "ÿþ") {\r
938       $mp3TrackName = substr($mp3TrackName,2);\r
939     }\r
940     fclose($fp);\r
941   }\r
942   switch ($fileTypes[$thisfiletype]) {\r
943     case "audio":\r
944       $fileicon = "a";\r
945       break;\r
946     case "video":\r
947       $fileicon = "v";\r
948       break;\r
949     case "playlist":\r
950       $fileicon = "l";\r
951       break;\r
952   }\r
953   $totalrowcount = $totalrowcount + 1;\r
954   $filerowcount = $filerowcount + 1;\r
955   if ($totalrowcount != 1) {\r
956     colorBars($andromedaPrefs["rowDiv"]);\r
957   }\r
958   echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=" . switchrow($totalrowcount,$andromedaPrefs["rowColor1"],$andromedaPrefs["rowColor2"]) . "><tr><td>";\r
959   if ($d) {\r
960     drill2(parentFolder($x),1);\r
961     addvpad(8);\r
962   }\r
963   echo "<table cellspacing=0 cellpadding=0 border=0><tr>";\r
964   if ($andromedaPrefs["permitPlaylists"]) {\r
965     echo "<td valign=top><input type=checkbox name=\"f[]\" value=\"";\r
966     if ($m) {\r
967       echo "i" . $x;\r
968     } else {\r
969       echo $totalrowcount;\r
970     }\r
971     echo "\"";\r
972     if ($andromedaPrefs["checkboxDefault"]) {\r
973       echo " checked";\r
974     }\r
975     echo "></td>";\r
976   }\r
977   echo "<td valign=top>";\r
978   if ($andromedaPrefs["fileLinks"]) {\r
979     if ($andromedaConst["localUser"] && $andromedaPrefs["localFilePlayback"]) {\r
980       $filepath = $andromedaPrefs["mediaPhysicalPath"] . $x;\r
981     } else {\r
982       $filepath = mkMediaWebPath($x);\r
983     }\r
984     echo "<a href=\"" . $filepath . "\">";\r
985     imagetag($fileicon,"i","");\r
986     echo "</a>";\r
987   } else {\r
988     imagetag($fileicon,"i","");\r
989   }\r
990   echo "</td><td valign=top>";\r
991   if ($andromedaPrefs["fileCount"]) {\r
992     echo "<table cellspacing=0 cellpadding=0 border=0><tr><td align=right valign=top width=\"" . $andromedaPrefs["fileCountWidth"] . "\"><font size=\"2\" color=\"" . $andromedaPrefs["rowTextColor"] . "\">";\r
993     // This seems to count by 2\r
994 //    if ($d) {\r
995       echo $filerowcount;\r
996 //    } else {\r
997 //      echo ($filerowcount*2-1);\r
998 //    }\r
999     echo ".</font></td><td>";\r
1000     ipad(4,1);\r
1001     echo "</td><td>";\r
1002   }\r
1003   if ($andromedaPrefs["fileLinks"]) {\r
1004     if (($andromedaPrefs["disableHTMLheaders"] || ($andromedaPrefs["rowLinkColor"] != $andromedaPrefs["bodyLinkColor"])) && $andromedaPrefs["rowLinkColor"] != "") {\r
1005       echo "<a href=\"" . $filepath . "\" style=\"color:" . $andromedaPrefs["rowLinkColor"] . "\"><font size=\"2\" color=\"" . $andromedaPrefs["rowLinkColor"] . "\">";\r
1006       if ($mp3TrackName != "") {\r
1007         echo $mp3TrackName;\r
1008       } else {\r
1009         echo displayName($x,true);\r
1010       }\r
1011       echo "</font></a>";\r
1012     } else {\r
1013       echo "<a href=\"" . $filepath . "\"><font size=\"2\">";\r
1014       if ($mp3TrackName != "") {\r
1015         echo $mp3TrackName;\r
1016       } else {\r
1017         echo displayName($x,true);\r
1018       }\r
1019       echo "</font></a>";\r
1020     }\r
1021   } else {\r
1022     echo "<font size=\"2\" color=\"" . $andromedaPrefs["rowTextColor"] . "\">";\r
1023     if ($mp3TrackName != "") {\r
1024       echo $mp3TrackName;\r
1025     } else {\r
1026       echo displayName($x,true);\r
1027     }\r
1028     echo "</font>";\r
1029   }\r
1030   if ($andromedaPrefs["displayNew"]) {\r
1031     displaynew(filemtime($andromedaPrefs["mediaPhysicalPath"] . $x));\r
1032   }\r
1033   if (($mp3Artist != "") || ($mp3Album != "")) {\r
1034     echo "<br><font size=\"1\" color=\"" . $andromedaPrefs["rowTextColor"] . "\">";\r
1035     if (($mp3Artist != "") && ($mp3Album != "")) {\r
1036       echo $mp3Artist . " - " . $mp3Album;\r
1037     } else {\r
1038       echo $mp3Artist . $mp3Album;\r
1039     }\r
1040     echo "</font>";\r
1041   }\r
1042   if ($andromedaPrefs["fileCount"]) {\r
1043     echo "</td></tr></table>";\r
1044   }\r
1045   echo "</td></tr></table></td><td align=right>";\r
1046   if ($andromedaPrefs["playLinks"]) {\r
1047     echo "<table cellspacing=0 cellpadding=0 border=0><tr><td align=right><font size=\"1\" color=\"" . $andromedaPrefs["rowTextColor"] . "\">";\r
1048     if (($mp3Length != "") || ($mp3Quality != "")) {\r
1049       if (($mp3Length != "") && ($mp3Quality != "")) {\r
1050         echo sec2time($mp3Length) . " &#183; " . $mp3Quality;\r
1051       } else {\r
1052         if ($mp3Length != "") {\r
1053           echo sec2time($mp3Length);\r
1054         } else {\r
1055           echo $mp3Quality;\r
1056         }\r
1057       }\r
1058       echo " &#183; ";\r
1059     }\r
1060     echo byteCount($thisfilesize) . " &#183; " . strtoupper($thisfiletype) . "</font></td><td>";\r
1061     ipad(4,1);\r
1062     echo "</td><td><a href=" . andrLink("?q=m&m=",$x) . ">";\r
1063     imagetag("p","i","");\r
1064     echo "</a></td></tr></table>";\r
1065   } else {\r
1066     echo "<font size=\"1\" color=\"" . $andromedaPrefs["rowTextColor"] . "\">";\r
1067     if (($mp3Length != "") || ($mp3Quality != "")) {\r
1068       if (($mp3Length != "") && ($mp3Quality != "")) {echo sec2time($mp3Length) . " &#183; " . $mp3Quality;\r
1069       } else {\r
1070         if ($mp3Length != "") {\r
1071           echo sec2time($mp3Length);\r
1072         } else {\r
1073           echo $mp3Quality;\r
1074         }\r
1075       }\r
1076       echo " &#183; ";\r
1077     }\r
1078     echo byteCount($thisfilesize) . " " . strtoupper($thisfiletype) . "</font>";\r
1079   }\r
1080   echo "</td></tr></table>";\r
1081 }\r
1082 \r
1083 function rowNote ($x,$i) {\r
1084   global $andromedaPrefs, $totalrowcount, $currentLanguage;\r
1085   if ($andromedaPrefs["globalAnnotations"] || ($andromedaPrefs["defaultLanguage"] == $currentLanguage)) {\r
1086     if ($i != "") {\r
1087       if (file_exists($andromedaPrefs["mediaPhysicalPath"] . $i . "/" . $andromedaPrefs["folderListImage"] . ".jpg")) {\r
1088         $folderImageExt = ".jpg";\r
1089       } elseif (file_exists($andromedaPrefs["mediaPhysicalPath"] . $i . "/". $andromedaPrefs["folderListImage"] . ".gif")) {\r
1090         $folderImageExt = ".gif";\r
1091       }\r
1092     }\r
1093     if (file_exists($andromedaPrefs["mediaPhysicalPath"] . $x)) {\r
1094       $fd = fopen($andromedaPrefs["mediaPhysicalPath"] . $x, "r");\r
1095       $note = fread($fd, filesize($andromedaPrefs["mediaPhysicalPath"] . $x));\r
1096       fclose ($fd);\r
1097     }\r
1098     if (($folderImageExt != "") || ($note != "")) {\r
1099       echo "<table cellspacing=0 cellpadding=0 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=" . switchrow($totalrowcount,$andromedaPrefs["rowColor1"],$andromedaPrefs["rowColor2"]) . "><tr><td>";\r
1100       ipad(30,1);\r
1101       echo "</td><td width=100%>";\r
1102       if ($folderImageExt != "") {\r
1103         if ($andromedaPrefs["folderListImageDims"] != "") {\r
1104           $ittmpa = explode(",",$andromedaPrefs["folderListImageDims"]);\r
1105           $imgdimtag = " width=" . $ittmpa[0] . " height=" . $ittmpa[1];\r
1106         } else {\r
1107           $imgdimtag = "";\r
1108         }\r
1109         echo "<table cellspacing=0 cellpadding=0 border=0 align=left><tr><td><a href=" . folderLink(parentFolder($x)) . "><img src=\"" . mkMediaWebPath(parentFolder($x) . "/" . $andromedaPrefs["folderListImage"] . $folderImageExt) . "\"" . $imgdimtag . " border=0></a></td></tr></table>";\r
1110       }\r
1111       if ($note != "") {\r
1112         echo "<font size=\"2\" color=\"" . $andromedaPrefs["rowTextColor"] . "\">" . $note . "</font>";\r
1113       }\r
1114       echo "</td></tr></table>";\r
1115       colorbar($andromedaPrefs["siteWidth"],"6",switchrow($totalrowcount,$andromedaPrefs["rowColor1"],$andromedaPrefs["rowColor2"]));\r
1116     }\r
1117   }\r
1118 }\r
1119 \r
1120 function searchbar ($s) {\r
1121   global $andromedaConst, $andromedaPrefs, $sm;\r
1122   echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\"><tr><td align=right><table cellspacing=0 cellpadding=0 border=0><form method=get action=" . $andromedaConst["scriptFileName"] . ">";\r
1123   if ($andromedaConst["moduleMode"]) {\r
1124     echo "<input type=hidden name=op value=modload><input type=hidden name=name value=\"" . basename(dirname(__FILE__)) . "\"><input type=hidden name=file value=\"" . getbasename(basename(__FILE__)) . "\">";\r
1125   }\r
1126   echo "<input type=hidden name=q value=s>";\r
1127   if ($andromedaPrefs["compactSearch"]) {\r
1128     echo "<input type=hidden name=sm value=ff>";\r
1129   }\r
1130   echo "<tr><td align=right><font face=\"helvetica,arial\" size=\"1\"";\r
1131   if ($andromedaPrefs["disableHTMLheaders"]) {\r
1132     echo " color=" . $andromedaPrefs["bodyTextColor"];\r
1133   }\r
1134   echo ">" . trans(13) . " " . $andromedaPrefs["siteName"] . "</font></td>";\r
1135   if (!$andromedaPrefs["compactSearch"]) {\r
1136     echo "<td>";\r
1137     ipad(4,1);\r
1138     echo "</td><td><select name=sm style=\"" . $andromedaPrefs["formStyle"] . "\"><option value=fo";\r
1139     if (($sm == "fo") || ($sm == "")) {\r
1140       echo " selected";\r
1141     }\r
1142     echo ">" . trans(5) . "<option value=fi";\r
1143     if ($sm == "fi") {\r
1144       echo " selected";\r
1145     }\r
1146     echo ">" . trans(3) . "<option value=ff";\r
1147     if ($sm == "ff") {\r
1148       echo " selected";\r
1149     }\r
1150     echo ">" . trans(5) . " + " . trans(3) . "</select></td>";\r
1151   }\r
1152   echo "<td>";\r
1153   ipad(4,1);\r
1154   echo "</td><td><input name=s size=20 value=\"" . htmlspecialchars($s) . "\" style=\"" . $andromedaPrefs["formStyle"] . "\"></td><td>";\r
1155   ipad(4,1);\r
1156   echo "</td><td>";\r
1157   imagetag("g","f","");\r
1158   echo "</td></tr></form></table></td></tr></table>";\r
1159 }\r
1160 \r
1161 // This checks to see if the code has been modified and exits if it has been\r
1162 //if ((abs(filesize(__FILE__) - strlen($andromedaPrefsFileName) - 114923 + 18) > 1) && \r
1163 //    (abs(filesize(__FILE__) - strlen($andromedaPrefsFileName) - 114923 + 1690 + 18) > 1)) {\r
1164 //  exit();\r
1165 //}\r
1166 \r
1167 function displayAMG ($n,$a) {\r
1168   global $andromedaPrefs;\r
1169   if ($andromedaPrefs["displayAMG"]) {\r
1170     echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\"><tr><td align=right><table cellspacing=0 cellpadding=0 border=0><form action=\"http://www.allmusic.com/cg/amg.dll\" method=post target=amg><input type=hidden name=P value=amg><tr><td align=right><font face=\"helvetica,arial\" size=\"1\"";\r
1171     if ($andromedaPrefs["disableHTMLheaders"]) {\r
1172       echo " color=" . $andromedaPrefs["bodyTextColor"];\r
1173     }\r
1174     echo ">" . trans(13) . " allmusic.com</font></td><td>";\r
1175     ipad(4,1);\r
1176     echo "</td><td><select name=opt1 style=\"" . $andromedaPrefs["formStyle"] . "\"><option value=1>" . trans(21) . "<option value=2";\r
1177     if ($a) {\r
1178       echo " selected";\r
1179     }\r
1180     echo ">" . trans(22) . "<option value=3>" . trans(23) . "<option value=5>" . trans(24) . "<option value=4>" . trans(25) . "</select></td><td>";\r
1181     ipad(4,1);\r
1182     echo "</td><td><input type=textfield name=sql size=20 maxlength=30 value=\"" . htmlspecialchars($n) . "\" style=\"" . $andromedaPrefs["formStyle"] . "\"></td><td>";\r
1183     ipad(4,1);\r
1184     echo "</td><td>";\r
1185     imagetag("g","f","");\r
1186     echo "</td></tr></form></table></td></tr></table>";\r
1187     colorbars($andromedaPrefs["bodyFgDiv"]);\r
1188   }\r
1189 }\r
1190 \r
1191 function search ($s,$sm) {\r
1192   global $andromedaPrefs,$totalrowcount;\r
1193   andromedaHeader("[" . $s . "] " . trans(37));\r
1194   navbar3($s,"search");\r
1195   if ($andromedaPrefs["permitPlaylists"]) {\r
1196     playlistFormHead(true);\r
1197   }\r
1198   colorbars($andromedaPrefs["bodyFgToRowDiv"]);\r
1199   if (strlen(trim($s)) > 1) {\r
1200     if (($sm == "fo") || ($sm == "ff") || ($sm == "")) {\r
1201       searchFolders("",$s);\r
1202     }\r
1203     if (($sm == "fi") || ($sm == "ff") || ($sm == "")) {\r
1204       searchFiles("",$s);\r
1205     }\r
1206     if ($totalrowcount == 0) {\r
1207       echo "<table cellspacing=0 cellpadding=0 border=0 bgcolor=\"" . $andromedaPrefs["rowColor1"] . "\" width=\"" . $andromedaPrefs["siteWidth"] . "\"><tr><td align=center>";\r
1208       addvpad(48);\r
1209       echo "<font face=\"helvetica,arial\" size=\"2\" color=\"" . $andromedaPrefs["rowTextColor"] . "\"><b>" . trans(39) . "</b></font>";\r
1210       addvpad(48);\r
1211       echo "</td></tr></table>";}\r
1212     colorbars($andromedaPrefs["rowToBodyFgDiv"]);\r
1213     if ($andromedaPrefs["permitPlaylists"]) {\r
1214       playlistFormFoot(true);\r
1215     }\r
1216   } else {\r
1217     echo "<table cellspacing=0 cellpadding=0 border=0 bgcolor=\"" . $andromedaPrefs["rowColor1"] . "\" width=\"" . $andromedaPrefs["siteWidth"] . "\"><tr><td align=center>";\r
1218     addvpad(48);\r
1219     echo "<font face=\"helvetica,arial\" size=\"2\" color=\"" . $andromedaPrefs["rowTextColor"] . "\"><b>" . trans(38) . "</b></font>";\r
1220     addvpad(48);\r
1221     echo "</td></tr></table>";\r
1222     colorbars($andromedaPrefs["rowToBodyFgDiv"]);\r
1223     if ($andromedaPrefs["permitPlaylists"]) {\r
1224       playlistFormFoot(true);\r
1225     }\r
1226   }\r
1227   displayAMG($s,false);\r
1228   andromedaFooter();\r
1229 }\r
1230 \r
1231 function searchFolders ($x,$s) {\r
1232   global $andromedaPrefs;\r
1233   $subfolders = getsubfolders($x);\r
1234   for ($i = 0; $i < count($subfolders); $i++) {\r
1235     if (eregi($s,str_replace("_"," ",$subfolders[$i]))) {\r
1236       folderrow($x . "/" . $subfolders[$i],true,true);\r
1237       flush();\r
1238     }\r
1239     searchFolders($x . "/" . $subfolders[$i],$s);\r
1240   }\r
1241 }\r
1242 \r
1243 function searchFiles ($x,$s) {\r
1244   global $andromedaPrefs;\r
1245   $mp3s = getmp3s($x);\r
1246   for ($i = 0; $i < count($mp3s); $i++) {\r
1247     if (eregi($s,str_replace("_"," ",$mp3s[$i]))) {\r
1248       filerow($x . "/" . $mp3s[$i],true,true);\r
1249       flush();\r
1250     }\r
1251   }\r
1252   $subfolders = getsubfolders($x);\r
1253   for ($i = 0; $i < count($subfolders); $i++) {\r
1254     searchFiles($x . "/" . $subfolders[$i],$s);\r
1255   }\r
1256 }\r
1257 \r
1258 function playlistFormHead ($x) {\r
1259   global $andromedaPrefs;\r
1260   if ($x) {\r
1261     $m = 1;\r
1262   } else {\r
1263     $m = 0;\r
1264   }\r
1265   echo "<script language=JavaScript><!--\r
1266 function ca(x){for(i=0;i<document.forms[\"l\"].elements.length;i++){var j=document.forms[\"l\"].elements[i];if(j.type==\"checkbox\"){j.checked=x;}}}function ac(){var x=false;for(i=0;i<document.forms[\"l\"].elements.length;i++){var j=document.forms[\"l\"].elements[i];if(j.type==\"checkbox\"){x=x||j.checked;};if(x){break}}return x;}";\r
1267   if ($andromedaPrefs["usePlaylistIcons"]) {\r
1268     echo "function pf(x,y){if(!y){y=ac()}if(y){document.forms[\"l\"][\"y\"].value=x;document.forms[\"l\"].submit();}}";\r
1269   }\r
1270   echo "//--></script>";\r
1271   echo "<table cellspacing=0 cellpadding=0 border=0 bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\" width=\"" . $andromedaPrefs["siteWidth"] . "\"><tr><td><table cellspacing=0 cellpadding=0 border=0><form method=post action=" . andrLink("?q=y&m=" . $m,"") . " name=l>";\r
1272   if ($andromedaPrefs["usePlaylistIcons"]) {\r
1273     echo "<script language=JavaScript><!--\r
1274 document.write(\"<input type=hidden name=y value=\\\"\\\">\");//--></script>";\r
1275   }\r
1276   echo "<tr><td></td></tr></table></td></tr></table>";\r
1277 }\r
1278 \r
1279 function playlistFormFoot ($x) {\r
1280   global $andromedaPrefs, $totalrowcount, $ckplaylist;\r
1281   if (($totalrowcount > 0) || ($ckplaylist != "")) {\r
1282     $plb = $andromedaPrefs["usePlaylistIcons"];\r
1283     echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\"><tr><td>";\r
1284     echo "<table cellspacing=0 cellpadding=0 border=0><tr>";\r
1285     if ($totalrowcount > 0) {\r
1286       echo "<script language=JavaScript><!--\r
1287 ";\r
1288       if ($plb) {\r
1289         echo "document.write(\"<td valign=top><a href=# onclick=\\\"ca(true);return false\\\">";\r
1290         imagetagE("sa","i",trans(6));\r
1291         echo "</a></td><td valign=top><a href=# onclick=\\\"ca(false);return false\\\">";\r
1292         imagetagE("sn","i",trans(7));\r
1293         echo "</a></td>";\r
1294       } else {\r
1295         echo "document.write(\"<td valign=top><input type=submit value=\\\"" . trans(6) . "\\\" style=\\\"" . $andromedaPrefs["formStyle"] . "\\\" onclick=\\\"ca(true);return false;\\\"></td><td valign=top><input type=submit value=\\\"" . trans(7) . "\\\" style=\\\"" . $andromedaPrefs["formStyle"] . "\\\" onclick=\\\"ca(false);return false;\\\"></td>";\r
1296       }\r
1297       echo "<td>";\r
1298       ipad(8,1);\r
1299       echo "</td>\");//--></script>";\r
1300     }\r
1301     if (($totalrowcount > 0) && ($andromedaPrefs["playLinks"])) {\r
1302       echo "<td valign=top>";\r
1303       if ($plb) {\r
1304         echo "<script language=JavaScript><!--\r
1305 document.write(\"<a href=# onclick=\\\"pf('" . trans(10) . "',false);return false\\\">";\r
1306         imagetagE("ps","i",trans(10));\r
1307         echo "</a>\");//--></script>";\r
1308         echo "<noscript>";\r
1309       }\r
1310       echo "<input type=submit name=y value=\"" . trans(10) . "\" style=\"" . $andromedaPrefs["formStyle"] . "\" onclick=\"return ac()\">";\r
1311       if ($plb) {\r
1312         echo "</noscript>";\r
1313       }\r
1314       echo "</td>";\r
1315       echo "<td>";\r
1316       ipad(8,1);\r
1317       echo "</td>";\r
1318     }\r
1319     if ($x && $totalrowcount > 0) {\r
1320       echo "<td valign=top>";\r
1321       if ($plb) {\r
1322         echo "<script language=JavaScript><!--\r
1323 document.write(\"<a href=# onclick=\\\"pf('" . trans(8) . "',false);return false\\\">";\r
1324         imagetagE("pa","i",trans(8));\r
1325         echo "</a>\");//--></script>";\r
1326         echo "<noscript>";\r
1327       }\r
1328       echo "<input type=submit name=y value=\"" . trans(8) . "\" style=\"" . $andromedaPrefs["formStyle"] . "\" onclick=\"return ac()\">";\r
1329       if ($plb) {\r
1330         echo "</noscript>";\r
1331       }\r
1332       echo "</td>";\r
1333       echo "<td>";\r
1334       ipad(8,1);\r
1335       echo "</td>";\r
1336     }\r
1337     if (($x == false) && ($totalrowcount > 0)) {\r
1338       echo "<td valign=top>";\r
1339       if ($plb) {\r
1340         echo "<script language=JavaScript><!--\r
1341 document.write(\"<a href=# onclick=\\\"pf('" . trans(9) . "',false);return false\\\">";\r
1342         imagetagE("pr","i",trans(9));\r
1343         echo "</a>\");//--></script>";\r
1344         echo "<noscript>";\r
1345       }\r
1346       echo "<input type=submit name=y value=\"" . trans(9) . "\" style=\"" . $andromedaPrefs["formStyle"] . "\" onclick=\"return ac()\">";\r
1347       if ($plb) {\r
1348         echo "</noscript>";\r
1349       }\r
1350       echo "</td>";\r
1351       echo "<td>";\r
1352       ipad(8,1);\r
1353       echo "</td>";\r
1354     }\r
1355     if ($x && ($ckplaylist != "")) {\r
1356       echo "<td valign=top>";\r
1357       if ($plb) {\r
1358         echo "<script language=JavaScript><!--\r
1359 document.write(\"<a href=# onclick=\\\"pf('" . trans(45) . "',true);return false\\\">";\r
1360         imagetagE("pv","i",trans(45));\r
1361         echo "</a>\");//--></script>";\r
1362         echo "<noscript>";\r
1363       }\r
1364       echo "<input type=submit name=y value=\"" . trans(45) . "\" style=\"" . $andromedaPrefs["formStyle"] . "\">";\r
1365       if ($plb) {\r
1366         echo "</noscript>";\r
1367       }\r
1368       echo "</td>";\r
1369       echo "<td>";\r
1370       ipad(8,1);\r
1371       echo "</td>";\r
1372     }\r
1373     if (($totalrowcount > 0) && ($ckplaylist != "")) {\r
1374       $plbnote = trans(12);\r
1375       $plbnote = str_replace("##",round((strlen($ckplaylist)/($andromedaPrefs["cBlockCount"]*$andromedaPrefs["cBlockSize"]))*100),$plbnote);\r
1376       echo "<td><font size=\"2\"";\r
1377       if ($andromedaPrefs["disableHTMLheaders"]) {\r
1378         echo " color=" . $andromedaPrefs["bodyTextColor"];\r
1379       }\r
1380       echo ">" . $plbnote . "</font></td>";\r
1381     }\r
1382     echo "</tr></table>";\r
1383     echo "</td></tr></table>";\r
1384     colorbars($andromedaPrefs["bodyFgDiv"]);\r
1385   }\r
1386   echo "<table cellspacing=0 cellpadding=0 border=0 bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\" width=\"" . $andromedaPrefs["siteWidth"] . "\"><tr><td><table cellspacing=0 cellpadding=0 border=0><tr><td></td></tr></form></table></td></tr></table>";\r
1387 }\r
1388 \r
1389 function displayPlaylist ($x) {\r
1390   global $andromedaPrefs, $ckplaylist, $totalrowcount;\r
1391   andromedaHeader(trans(44));\r
1392   navbar3(trans(44),"playlist");\r
1393   playlistFormHead(false);\r
1394   colorbars($andromedaPrefs["bodyFgToRowDiv"]);\r
1395   $xtmpa = explode("\n",$ckplaylist);\r
1396   for ($xi = 0; $xi < count($xtmpa)-1; $xi++) {\r
1397     if (substr($xtmpa[$xi],0,1) == "o") {\r
1398       folderrow(substr($xtmpa[$xi],1),true,false);\r
1399     }\r
1400     if (substr($xtmpa[$xi],0,1) == "i") {\r
1401       filerow(substr($xtmpa[$xi],1),true,false);\r
1402     }\r
1403   }\r
1404   colorbars($andromedaPrefs["rowToBodyFgDiv"]);\r
1405   playlistFormFoot(false);\r
1406   displayAMG("",false);\r
1407   andromedaFooter();\r
1408 }\r
1409 \r
1410 function readPlaylist ($x) {\r
1411   global $andromedaPrefs;\r
1412   $rtmp = "";\r
1413   for ($rpi = 1; $rpi <= $andromedaPrefs["cBlockCount"]; $rpi++) {\r
1414     $rtmp2 = $x . $rpi;\r
1415     global $$rtmp2;\r
1416     $rtmp = $rtmp . fixgpc($$rtmp2);\r
1417   }\r
1418   return($rtmp);\r
1419 }\r
1420 \r
1421 function writePlaylist ($x) {\r
1422   global $andromedaPrefs, $ckplaylist;\r
1423   for ($rpi = 1; $rpi <= $andromedaPrefs["cBlockCount"]; $rpi++) {\r
1424     $rpitmp = substr($ckplaylist,(($rpi-1)*$andromedaPrefs["cBlockSize"]), $andromedaPrefs["cBlockSize"]);\r
1425     if ($rpi == $andromedaPrefs["cBlockCount"]) {\r
1426       $rpitmp = substr($rpitmp,0,strrpos($rpitmp,"\n")+1);\r
1427     }\r
1428     setcookie($x . $rpi, $rpitmp);\r
1429   }\r
1430 }\r
1431 \r
1432 function playFolder ($x) {\r
1433   global $andromedaPrefs,$totalrowcount;\r
1434   if (file_exists($andromedaPrefs["mediaPhysicalPath"] . $x)) {\r
1435     playFolder2($x);\r
1436     if ($totalrowcount == 0) {\r
1437       Header("Location: " . andrlink("?q=f&f=",$x));\r
1438     }\r
1439   } else {\r
1440     fourOfour();\r
1441   }\r
1442 }\r
1443 \r
1444 function playable ($x) {\r
1445   global $andromedaPrefs;\r
1446   $pinme = false;\r
1447   $tmp = $andromedaPrefs["mediaPhysicalPath"] . $x;\r
1448   $handle=opendir($tmp);\r
1449   while ($file = readdir($handle)) {\r
1450     if (is_file("$tmp/$file")) {\r
1451       if (legalFile($file)) {\r
1452         $pinme = true;\r
1453         break;\r
1454       }\r
1455     }\r
1456   }\r
1457   closedir($handle);\r
1458   if (!$pinme) {\r
1459     $tmp = $andromedaPrefs["mediaPhysicalPath"] . $x;\r
1460     $handle=opendir($tmp);\r
1461     while ($file = readdir($handle)) {\r
1462       if (is_dir("$tmp/$file") && $file != "." && $file != "..") {\r
1463         if (legalFolder($file)) {\r
1464           if (playable($x . "/" . $file)) {\r
1465             $pinme = true;\r
1466             break;\r
1467           }\r
1468         }\r
1469       }\r
1470     }\r
1471     closedir($handle);\r
1472   }\r
1473   return($pinme);\r
1474 }\r
1475 \r
1476 function playFolder2 ($x) {\r
1477   global $andromedaPrefs, $totalrowcount;\r
1478   $subfolders = getsubfolders($x);\r
1479   for ($i = 0; $i < count($subfolders); $i++) {\r
1480     playFolder2($x . "/" . $subfolders[$i]);\r
1481     if ($totalrowcount == $andromedaPrefs["maxPlaylistTracks"]) {break;\r
1482     }\r
1483   }\r
1484   $mp3s = getmp3s($x);\r
1485   for ($i = 0; $i < count($mp3s); $i++) {\r
1486     playlistRow($x . "/" . $mp3s[$i]);\r
1487     if ($totalrowcount == $andromedaPrefs["maxPlaylistTracks"]) {\r
1488       break;\r
1489     }\r
1490   }\r
1491   if (count($mp3s) > 0) {\r
1492     flush();\r
1493   }\r
1494 }\r
1495 \r
1496 function playlistHeader () {\r
1497   global $andromedaConst, $andromedaPrefs, $ckServerName, $plrpre;\r
1498   Header('Cache-Control: private');\r
1499   Header("Content-Type: " . $andromedaPrefs["playlistMime"]);\r
1500   switch (strtolower($andromedaPrefs["playlistMime"])) {\r
1501     case "audio/x-mpegurl":\r
1502       $fext = "m3u";\r
1503       break;\r
1504     case "audio/x-pn-realaudio":\r
1505       $fext = "ram";\r
1506       break;\r
1507     default:\r
1508       $fext = "";\r
1509   }\r
1510   if ($fext != "") {\r
1511     Header("Content-Disposition: inline; filename=playlist." . $fext);\r
1512   }\r
1513   if ($andromedaPrefs["includeEXTM3U"]) {\r
1514     echo "#EXTM3U\n";\r
1515   }\r
1516   if (!($andromedaConst["localUser"] && $andromedaPrefs["localFilePlayback"])) {\r
1517     if ($andromedaPrefs["hostAddress"] != "") {\r
1518       $plrpre = $andromedaPrefs["protocol"] . "://" . $andromedaPrefs["hostAddress"];\r
1519     } else {\r
1520       $plrpre = $andromedaPrefs["protocol"] . "://" . $ckServerName;\r
1521     }\r
1522   }\r
1523 }\r
1524 \r
1525 function playlistRow ($x) {\r
1526   global $andromedaConst, $andromedaPrefs, $totalrowcount, $plrpre;\r
1527   if ($totalrowcount == 0) {\r
1528     playlistHeader();\r
1529   }\r
1530   $totalrowcount += 1;\r
1531   if ($andromedaPrefs["includeEXTM3U"]) {\r
1532     echo "#EXTINF:-1," . displayName($x,true) . "\n";\r
1533   }\r
1534   if ($andromedaConst["localUser"] && $andromedaPrefs["localFilePlayback"]) {\r
1535     echo $andromedaPrefs["mediaPhysicalPath"] . $x . "\n";\r
1536   } else {\r
1537     echo $plrpre . mkMediaWebPath($x) . "\n";\r
1538   }\r
1539 }\r
1540 \r
1541 function playPrepList ($x) {\r
1542   global $andromedaPrefs;\r
1543   $xtmpa = explode("\n",$x);\r
1544   for ($xi = 0; $xi < count($xtmpa)-1; $xi++) {\r
1545     if (substr($xtmpa[$xi],0,1) == "o") {\r
1546       playFolder2(substr($xtmpa[$xi],1));\r
1547     }\r
1548     if (substr($xtmpa[$xi],0,1) == "i") {\r
1549       playlistRow(substr($xtmpa[$xi],1));\r
1550     }\r
1551     if ($totalrowcount == $andromedaPrefs["maxPlaylistTracks"]) {\r
1552       break;\r
1553     }\r
1554   }\r
1555 }\r
1556 \r
1557 function imagetag ($x,$m,$t) {\r
1558   global $andromedaPrefs;\r
1559   $ittmpa = explode(",",$andromedaPrefs[$x . "Dimentions"]);\r
1560   imagetag2($x,$ittmpa[0],$ittmpa[1],$t,true,$m,"");\r
1561 }\r
1562 \r
1563 function imagetagE ($x,$m,$t) {\r
1564   global $andromedaPrefs;\r
1565   $ittmpa = explode(",",$andromedaPrefs[$x . "Dimentions"]);\r
1566   imagetag2($x,$ittmpa[0],$ittmpa[1],$t,true,$m,"\\");\r
1567 }\r
1568 \r
1569 function imagetag2 ($x,$a,$b,$t,$c,$m,$e) {\r
1570   global $andromedaPrefs;\r
1571   switch ($m) {\r
1572     case "i":\r
1573       echo "<img src=";\r
1574       break;\r
1575     case "f":\r
1576       echo "<input type=image src=";\r
1577       break;\r
1578   }\r
1579   if ($andromedaPrefs["useImageFiles"]) {\r
1580     echo $andromedaPrefs["imageFolderPath"] . $x . ".gif";\r
1581   } else {\r
1582     echo andrLink("?i=",$x);\r
1583   }\r
1584   echo " width=" . $a * $andromedaPrefs["iconSize"] . " height=" . $b * $andromedaPrefs["iconSize"];\r
1585   if ($c) {\r
1586     echo " border=0";\r
1587   }\r
1588   if ($t != "") {\r
1589     echo " alt=" . $e . "\"" . htmlspecialchars($t) . $e . "\"";\r
1590   }\r
1591   echo ">";\r
1592 }\r
1593 \r
1594 function displayImage ($dix) {\r
1595   switch ($dix) {\r
1596     case "p": // playButton\r
1597       $imageDataLookup = array(71,73,70,56,57,97,16,0,16,0,162,0,0,51,153,0,102,204,0,51,102,0,255,255,255,0,0,0,255,255,255,0,0,0,0,0,0,33,249,4,1,0,0,5,0,44,0,0,0,0,16,0,16,0,0,3,76,88,170,212,190,176,180,64,107,139,132,10,1,186,39,75,22,0,194,192,121,29,40,141,228,96,162,0,40,118,165,123,210,147,87,219,122,78,187,192,147,192,215,2,14,88,195,140,206,200,34,17,119,205,141,108,121,68,13,25,203,38,233,138,37,69,165,24,194,102,156,140,132,28,23,72,2,0,59);\r
1598       break;\r
1599     case "i": // infoButton\r
1600       $imageDataLookup = array(71,73,70,56,57,97,16,0,16,0,162,0,0,255,255,255,204,204,204,153,153,153,102,102,102,51,51,51,255,255,255,0,0,0,0,0,0,33,249,4,1,0,0,5,0,44,0,0,0,0,16,0,16,0,0,3,64,88,186,220,94,35,142,215,70,8,147,80,53,0,38,129,70,117,24,224,137,14,105,134,140,36,121,151,203,5,166,41,88,53,54,95,177,192,199,156,23,207,21,97,16,86,158,201,3,148,76,110,64,4,146,146,162,177,232,54,193,34,118,155,0,0,59);\r
1601       break;\r
1602     case "h": // homeButton\r
1603       $imageDataLookup = array(71,73,70,56,57,97,16,0,16,0,162,0,0,102,102,153,153,153,204,204,204,255,255,255,255,204,204,204,102,102,102,0,0,0,255,255,255,33,249,4,1,0,0,7,0,44,0,0,0,0,16,0,16,0,0,3,85,120,170,214,190,240,52,65,43,48,209,212,80,74,248,1,198,80,95,65,16,30,40,106,37,49,12,168,42,145,230,208,193,233,197,214,197,219,199,58,1,239,229,195,5,123,53,34,202,118,236,184,148,157,66,176,69,196,5,0,23,73,235,196,245,100,181,156,168,24,43,2,131,62,216,239,162,145,78,55,34,107,199,27,146,0,0,59);\r
1604       break;\r
1605     case "r": // prefsButton\r
1606       $imageDataLookup = array(71,73,70,56,57,97,16,0,16,0,162,0,0,102,102,153,153,153,204,204,204,255,255,255,255,102,102,102,0,0,0,255,255,255,0,0,0,33,249,4,1,0,0,6,0,44,0,0,0,0,16,0,16,0,0,3,80,104,170,213,190,208,52,65,107,139,165,134,205,67,89,153,64,140,99,231,49,66,64,12,108,201,125,161,202,14,43,193,1,211,86,211,228,134,103,186,217,204,22,248,165,100,164,154,47,39,19,210,150,64,36,233,9,192,73,130,78,155,245,170,74,146,170,31,134,201,7,198,20,170,232,95,4,228,184,64,18,0,59);\r
1607       break;\r
1608     case "t": // ftpButton\r
1609       $imageDataLookup = array(71,73,70,56,57,97,16,0,16,0,162,0,0,102,102,153,153,153,204,204,204,255,255,255,255,0,0,0,255,255,255,0,0,0,0,0,0,33,249,4,1,0,0,5,0,44,0,0,0,0,16,0,16,0,0,3,78,88,170,212,190,176,52,65,107,139,164,134,205,3,89,153,176,1,36,208,125,146,56,14,131,186,125,33,7,176,110,0,76,118,73,151,54,62,179,64,90,47,99,11,6,69,55,34,128,242,171,32,113,50,225,232,38,233,52,101,40,130,85,147,67,85,59,83,42,164,81,42,93,34,12,199,121,145,0,0,59);\r
1610       break;\r
1611     case "g": // goButton\r
1612       $imageDataLookup = array(71,73,70,56,57,97,16,0,16,0,162,0,0,102,102,153,153,153,204,204,204,255,255,255,255,0,0,0,255,255,255,0,0,0,0,0,0,33,249,4,1,0,0,5,0,44,0,0,0,0,16,0,16,0,0,3,72,88,170,212,190,176,52,65,107,139,164,134,205,3,89,153,208,141,30,35,146,221,151,1,67,187,177,110,0,76,114,59,188,182,76,215,49,60,204,25,92,207,6,20,249,132,183,226,145,151,156,73,80,29,231,19,42,147,78,71,128,236,7,210,200,122,129,17,144,227,2,73,0,0,59);\r
1613       break;\r
1614     case "q": // discussButton\r
1615       $imageDataLookup = array(71,73,70,56,57,97,16,0,16,0,162,0,0,102,102,153,153,153,204,204,204,255,255,255,255,0,0,0,255,255,255,0,0,0,0,0,0,33,249,4,1,0,0,5,0,44,0,0,0,0,16,0,16,0,0,3,71,88,170,212,190,176,52,65,107,139,164,134,205,3,89,153,208,141,30,35,110,67,151,150,33,186,6,195,10,76,46,23,115,115,86,239,65,126,198,43,224,198,231,10,222,122,52,216,81,8,152,73,72,35,231,19,58,148,78,163,205,15,164,209,236,230,34,32,199,5,146,0,0,59);\r
1616       break;\r
1617     case "a": // audioFile\r
1618       $imageDataLookup = array(71,73,70,56,57,97,26,0,16,0,162,0,0,102,102,51,153,153,102,204,204,153,255,255,204,255,255,255,102,102,102,51,51,51,255,255,255,33,249,4,1,0,0,7,0,44,0,0,0,0,26,0,16,0,0,3,93,120,186,92,254,144,201,121,10,185,152,216,66,187,189,6,246,113,157,244,25,225,21,149,13,97,12,105,70,178,40,58,8,113,16,104,172,242,14,55,28,65,39,234,29,12,186,128,64,152,225,245,144,186,101,40,185,155,149,12,128,172,50,86,124,214,0,129,233,78,101,84,88,176,185,106,185,2,226,146,203,31,87,211,105,140,207,233,61,136,254,193,72,0,0,59);\r
1619       break;\r
1620     case "v": // videoFile\r
1621       $imageDataLookup = array(71,73,70,56,57,97,26,0,16,0,162,0,0,255,255,255,239,239,239,102,102,102,51,51,51,255,255,255,0,0,0,0,0,0,0,0,0,33,249,4,1,0,0,4,0,44,0,0,0,0,26,0,16,0,0,3,78,72,186,44,254,144,201,73,4,184,24,88,65,231,248,32,168,93,92,183,124,65,154,126,218,99,158,131,186,14,89,249,162,50,139,217,102,232,215,47,5,78,165,35,5,9,195,25,48,152,12,20,53,71,95,104,121,139,229,104,187,168,149,136,53,50,165,79,222,203,146,41,139,77,144,180,107,145,0,0,59);\r
1622       break;\r
1623     case "l": // palaylistFile\r
1624       $imageDataLookup = array(71,73,70,56,57,97,26,0,16,0,162,0,0,255,255,255,204,204,204,102,102,102,51,51,51,255,255,255,0,0,0,0,0,0,0,0,0,33,249,4,1,0,0,4,0,44,0,0,0,0,26,0,16,0,0,3,74,72,186,44,254,144,201,73,4,184,24,88,65,231,248,32,168,93,92,183,12,25,134,70,166,130,166,192,75,182,110,0,89,178,70,19,185,154,149,173,222,37,7,52,13,108,144,216,111,39,84,98,138,157,38,145,137,124,56,103,52,233,50,27,10,109,119,22,216,115,167,184,153,139,9,0,59);\r
1625       break;\r
1626     case "o": // folderOpen\r
1627       $imageDataLookup = array(71,73,70,56,57,97,20,0,16,0,162,0,0,255,255,153,153,153,102,224,224,153,204,204,153,255,255,255,102,102,102,255,255,255,0,0,0,33,249,4,1,0,0,6,0,44,0,0,0,0,20,0,16,0,0,3,60,104,186,220,174,37,198,247,138,184,183,80,102,49,150,146,83,12,100,89,126,13,168,74,89,74,188,112,60,10,26,7,220,120,62,215,118,238,143,188,69,193,247,11,4,33,68,157,177,146,196,77,68,171,213,102,74,173,90,167,9,0,59);\r
1628       break;\r
1629     case "c": // folderClosed\r
1630       $imageDataLookup = array(71,73,70,56,57,97,26,0,16,0,162,0,0,255,255,153,224,224,153,255,255,255,102,102,102,255,255,255,0,0,0,0,0,0,0,0,0,33,249,4,1,0,0,4,0,44,0,0,0,0,26,0,16,0,0,3,61,72,186,220,254,111,72,9,235,26,33,231,97,33,214,218,52,117,196,7,158,1,215,13,66,235,190,173,106,13,64,109,223,181,92,209,120,175,123,61,31,137,23,180,253,34,197,219,209,65,76,46,27,162,104,148,68,173,90,175,212,4,0,59);\r
1631       break;\r
1632     case "x": // invisiblePixel\r
1633       $imageDataLookup = array(71,73,70,56,57,97,1,0,1,0,128,0,0,255,255,255,0,0,0,33,249,4,1,0,0,0,0,44,0,0,0,0,1,0,1,0,0,2,2,68,1,0,59);\r
1634       break;\r
1635     case "sa":\r
1636       $imageDataLookup = array(71,73,70,56,57,97,26,0,16,0,162,0,0,255,255,255,204,204,204,153,153,153,102,102,102,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,26,0,16,0,0,3,80,72,186,220,238,33,202,73,107,28,130,4,193,187,255,160,128,105,97,56,96,223,184,149,222,0,172,109,6,179,238,11,170,55,42,2,252,204,225,41,0,166,102,187,201,110,60,162,175,3,108,241,158,75,230,17,20,128,178,68,83,106,145,150,165,94,127,221,175,73,118,42,155,207,232,114,230,193,110,19,18,0,59);\r
1637       break;\r
1638     case "sn":\r
1639       $imageDataLookup = array(71,73,70,56,57,97,25,0,16,0,162,0,0,255,255,255,204,204,204,153,153,153,102,102,102,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,25,0,16,0,0,3,65,72,186,220,206,33,202,73,107,28,36,136,205,187,255,2,166,129,228,39,150,40,119,166,232,218,13,112,44,155,153,9,220,248,61,190,181,55,228,185,157,170,247,178,68,104,66,22,82,89,114,49,125,196,39,47,32,171,90,175,152,135,118,75,72,0,0,59);\r
1640       break;\r
1641     case "ps":\r
1642       $imageDataLookup = array(71,73,70,56,57,97,42,0,16,0,162,0,0,255,255,255,204,204,204,153,153,153,102,102,102,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,42,0,16,0,0,3,91,72,186,220,254,240,133,73,171,189,56,211,161,130,248,96,40,10,195,48,158,39,71,120,104,10,152,109,171,178,113,56,0,111,157,118,186,141,231,61,208,44,248,185,253,96,193,33,209,120,92,242,150,63,28,77,167,76,70,167,212,167,85,74,44,106,123,70,44,248,75,5,136,199,171,238,224,140,14,148,222,240,184,124,78,135,71,238,248,60,33,1,0,59);\r
1643       break;\r
1644     case "pa":\r
1645       $imageDataLookup = array(71,73,70,56,57,97,42,0,16,0,162,0,0,255,255,255,204,204,204,153,153,153,102,102,102,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,42,0,16,0,0,3,102,72,186,220,254,240,133,73,171,189,56,211,161,130,248,32,168,105,97,249,113,132,103,126,217,224,14,215,26,162,170,188,14,0,48,216,50,205,11,23,156,46,99,243,241,54,175,220,11,86,41,118,126,155,156,84,202,164,56,83,208,137,112,170,180,92,107,191,165,242,245,3,25,87,173,174,151,119,54,165,135,235,175,173,245,138,177,159,229,124,153,182,236,251,255,128,129,17,131,132,133,4,9,0,59);\r
1646       break;\r
1647     case "pr":\r
1648       $imageDataLookup = array(71,73,70,56,57,97,42,0,16,0,162,0,0,255,255,255,204,204,204,153,153,153,102,102,102,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,42,0,16,0,0,3,91,72,186,220,254,240,133,73,171,189,56,211,161,130,248,32,168,105,97,249,113,132,103,126,99,182,134,168,250,206,244,28,215,45,102,119,248,52,252,192,160,101,151,234,5,6,128,164,50,57,24,190,110,180,205,114,217,172,16,101,181,160,118,80,3,65,87,185,75,150,247,10,59,175,51,179,149,246,237,186,217,157,173,124,78,167,71,238,248,60,33,1,0,59);\r
1649       break;\r
1650     case "pv":\r
1651       $imageDataLookup = array(71,73,70,56,57,97,42,0,16,0,162,0,0,255,255,255,204,204,204,153,153,153,102,102,102,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,42,0,16,0,0,3,108,72,186,220,254,240,133,73,171,189,56,211,161,130,248,32,168,105,97,249,113,132,103,126,217,224,98,107,136,170,113,233,2,184,91,175,243,46,84,3,156,112,0,139,245,118,27,161,146,104,169,29,107,73,101,238,226,236,248,162,82,102,165,154,242,201,178,94,153,53,118,185,225,8,47,138,239,105,106,189,208,218,245,120,53,162,192,39,242,46,185,62,185,231,3,46,129,130,131,132,133,134,130,17,137,138,139,4,9,0,59);\r
1652       break;\r
1653     case "k":\r
1654       $imageDataLookup = array(71,73,70,56,57,97,16,0,16,0,162,0,0,0,0,0,255,255,255,102,102,153,153,153,204,204,204,255,255,255,255,0,0,0,0,0,0,33,249,4,1,0,0,5,0,44,0,0,0,0,16,0,16,0,0,3,70,88,170,208,190,176,52,66,107,139,160,142,205,7,88,25,209,141,30,35,110,65,26,116,95,136,170,41,39,76,92,60,216,195,156,145,170,76,119,61,223,14,184,234,232,78,36,217,76,50,194,229,62,76,162,18,26,29,9,174,84,6,224,202,213,69,64,142,11,36,1,0,59);\r
1655       break;\r
1656   }\r
1657   for ($i = 0; $i < count($imageDataLookup); $i++) {\r
1658     $binstr = $binstr . chr($imageDataLookup[$i]);\r
1659   }\r
1660   Header("Content-Type: image/gif");\r
1661   echo $binstr;\r
1662 }\r
1663 \r
1664 function trans ($y) {\r
1665   global $rosetta, $currentLanguage;\r
1666   if ($rosetta[$currentLanguage][$y] != "") {\r
1667     return $rosetta[$currentLanguage][$y];\r
1668   } else {\r
1669     return $rosetta["EN"][$y];\r
1670   }\r
1671 }\r
1672 \r
1673 function sec2time ($x) {\r
1674   $minutes = floor($x / 60);\r
1675   $seconds = round($x - ($minutes * 60));\r
1676   if ($seconds < 10) {\r
1677     $seconds = "0" . $seconds;\r
1678   }\r
1679   return $minutes . ":" . $seconds;\r
1680 }\r
1681 \r
1682 function andromedaEncode ($x) {\r
1683   $tmp = rawurlencode($x);\r
1684   $tmp = eregi_replace("%2F","/",$tmp);\r
1685   $tmp = eregi_replace("%2E",".",$tmp);\r
1686   $tmp = eregi_replace("%2D","-",$tmp);\r
1687   $tmp = eregi_replace("%5F","_",$tmp);\r
1688   return($tmp);\r
1689 }\r
1690 \r
1691 function legalFolder ($x) {\r
1692   global $andromedaPrefs, $folderSkipNames;\r
1693   $lftmp = true;\r
1694   if ($andromedaPrefs["skipPrefix"] != "") {\r
1695     if (substr($x, 0, strlen($andromedaPrefs["skipPrefix"])) == $andromedaPrefs["skipPrefix"]) {\r
1696       $lftmp = false;\r
1697     }\r
1698   }\r
1699   if ($lftmp) {\r
1700     if ($folderSkipNames[$x]) {\r
1701       $lftmp = false;\r
1702     }\r
1703   }\r
1704   return $lftmp;\r
1705 }\r
1706 \r
1707 function legalFile ($x) {\r
1708   global $andromedaPrefs, $fileTypes;\r
1709   $lftmp = true;\r
1710   if ($andromedaPrefs["skipPrefix"] != "") {\r
1711     if (substr($x, 0, strlen($andromedaPrefs["skipPrefix"])) == $andromedaPrefs["skipPrefix"]) {\r
1712       $lftmp = false;\r
1713     }\r
1714   }\r
1715   if ($lftmp) {\r
1716     $isaftmp = $fileTypes[strtolower(getextention($x))];\r
1717     $lftmp = (($isaftmp == "audio") || ($isaftmp == "video") || ($isaftmp == "playlist"));\r
1718   }\r
1719   return($lftmp);\r
1720 }\r
1721 \r
1722 function subfolderCount ($dir) {\r
1723   global $andromedaPrefs;\r
1724   $sdctotal = 0;\r
1725   $tmp = $andromedaPrefs["mediaPhysicalPath"] . $dir;\r
1726   $handle=opendir($tmp);\r
1727   while ($file = readdir($handle)) {\r
1728     if (is_dir("$tmp/$file") && $file != "." && $file != ".." && legalFolder($file)) {\r
1729       $sdctotal = $sdctotal + 1;\r
1730     }\r
1731   }\r
1732   closedir($handle);\r
1733   return $sdctotal;\r
1734 }\r
1735 \r
1736 function fileCount ($dir) {\r
1737   global $andromedaPrefs;\r
1738   $tfileCount = 0;\r
1739   $tmp = $andromedaPrefs["mediaPhysicalPath"] . $dir;\r
1740   $handle=opendir($tmp);\r
1741   while ($file = readdir($handle)) {\r
1742     if (is_file("$tmp/$file") && legalFile($file)) {\r
1743       $tfileCount = $tfileCount + 1;\r
1744     }\r
1745   }\r
1746   closedir($handle);\r
1747   return round(($tfileCount/2)+.1);\r
1748 }\r
1749 \r
1750 function getsubfolders ($dir) {\r
1751   global $andromedaPrefs;\r
1752   $tmp = $andromedaPrefs["mediaPhysicalPath"] . $dir;\r
1753   $handle=opendir($tmp);\r
1754   while ($file = readdir($handle)) {\r
1755     if (is_dir("$tmp/$file") && $file != "." && $file != ".." && legalFolder($file)) {\r
1756       $tmp2[] = $file;\r
1757     }\r
1758   }\r
1759   closedir($handle);\r
1760   if ($tmp2) {\r
1761     usort($tmp2,"strcasecmp");\r
1762   }\r
1763   return $tmp2;\r
1764 }\r
1765 \r
1766 function getmp3s ($dir) {\r
1767   global $andromedaPrefs;\r
1768   $tmp = $andromedaPrefs["mediaPhysicalPath"] . $dir;\r
1769   $handle=opendir($tmp);\r
1770   $tc = true;\r
1771   while ($file = readdir($handle)) {\r
1772     if (is_file("$tmp/$file") && legalFile($file)) {\r
1773       // This appears to get every other file.\r
1774       //if ($tc) {\r
1775         $tmp2[] = $file;\r
1776 //      $tc = false;\r
1777 //      } else {\r
1778 //      $tc = true;\r
1779 //      }\r
1780     }\r
1781   }\r
1782   closedir($handle);\r
1783   if ($tmp2) {\r
1784     usort($tmp2,"strcasecmp");\r
1785   }\r
1786   return $tmp2;\r
1787 }\r
1788 \r
1789 function drill2 ($x,$z) {\r
1790   global $andromedaPrefs;\r
1791   if ($z == 1) {\r
1792     $lcolor = $andromedaPrefs["rowLinkColor"];\r
1793     $tcolor = $andromedaPrefs["rowTextColor"];\r
1794   } elseif ($andromedaPrefs["disableHTMLheaders"]) {\r
1795     $lcolor = $andromedaPrefs["bodyLinkColor"];\r
1796     $tcolor = $andromedaPrefs["bodyTextColor"];\r
1797   }\r
1798   echo "<font size=\"" . $z . "\"";\r
1799   if ($tcolor != "") {\r
1800     echo " color=" . $tcolor;\r
1801   }\r
1802   echo ">";\r
1803   if ($lcolor != "") {\r
1804     echo "<nobr><a href=" . andrLink("","") . " style=\"color:" . $lcolor . "\"><font color=" . $lcolor . ">" . $andromedaPrefs["rootName"] . "</font></a> /</nobr> ";\r
1805   } else {\r
1806     echo "<nobr><a href=" . andrLink("","") . ">" . $andromedaPrefs["rootName"] . "</a> /</nobr> ";\r
1807   }\r
1808   $tmpaa = explode("/",$x);\r
1809   $tlp = "";\r
1810   for ($i = 1; $i <= count($tmpaa)-1; $i++) {\r
1811     $tlp = $tlp . "/" . $tmpaa[$i];\r
1812     if ($lcolor != "") {\r
1813       echo "<nobr><a href=" . folderLink($tlp) . " style=\"color:" . $lcolor . "\"><font color=" . $lcolor . ">" . displayName($tmpaa[$i],false) . "</font></a> /</nobr> ";\r
1814     } else {\r
1815       echo "<nobr><a href=" . folderLink($tlp) . ">" . displayName($tmpaa[$i],false) . "</a> /</nobr> ";\r
1816     }\r
1817   }\r
1818   echo "</font>";\r
1819 }\r
1820 \r
1821 function playFolderButton ($plx) {\r
1822   echo "<a href=" . andrLink("?q=p&p=",$plx) . ">";\r
1823   imagetag("p","i",trans(11));\r
1824   echo "</a>";\r
1825 }\r
1826 \r
1827 function andrLink ($x,$y) {\r
1828   global $andromedaConst;\r
1829   if ($andromedaConst["moduleMode"]) {\r
1830     if ($x != "") {\r
1831       return($andromedaConst["scriptFileName"] . "?op=modload&name=" . basename(dirname(__FILE__)) . "&file=" . getbasename(basename(__FILE__)) . "&" . substr($x,1) . str_replace(".","%2E",urlencode($y)));\r
1832     } else {\r
1833       return($andromedaConst["scriptFileName"] . "?op=modload&name=" . basename(dirname(__FILE__)) . "&file=" . getbasename(basename(__FILE__)));\r
1834     }\r
1835   } else {\r
1836     return($andromedaConst["scriptFileName"] . $x . str_replace(".","%2E",urlencode($y)));\r
1837   }\r
1838 }\r
1839 \r
1840 function mkMediaWebPath ($x) {\r
1841   global $andromedaPrefs;\r
1842   return(andromedaEncode($andromedaPrefs["mediaWebPath"] . $x));\r
1843 }\r
1844 \r
1845 function folderLink ($x) {\r
1846   return(andrLink("?q=f&f=",$x));\r
1847 }\r
1848 \r
1849 function isAlbum ($x) {\r
1850   return ((subfolderCount($x) == 0) && (fileCount($x) > 0));\r
1851 }\r
1852 \r
1853 function byteCount ($x) {\r
1854   if ($x >= 1024 * 1000) {\r
1855     return((round(($x*100)/(1024*1024))/100) . "&nbsp;MB");\r
1856   } elseif ($x >= 1000) {\r
1857     return(round($x/1024) . "&nbsp;KB");\r
1858   } else {\r
1859     return($x . "&nbsp;byte");\r
1860   }\r
1861 }\r
1862 \r
1863 function addvpad ($height) {\r
1864   echo "<table cellspacing=0 cellpadding=0 border=0 height=$height><tr><td></td></tr></table>";\r
1865 }\r
1866 \r
1867 function ipad ($width,$height) {\r
1868   imagetag2 ("x",$width,$height,"",false,"i","");\r
1869 }\r
1870 \r
1871 function colorbar ($cbw, $cbh, $cbc) {\r
1872   echo "<table cellspacing=0 cellpadding=0 border=0 width=$cbw height=$cbh bgcolor=$cbc><tr><td>";\r
1873   ipad (1,1);\r
1874   echo "</td></tr></table>";\r
1875 }\r
1876 \r
1877 function colorBars ($cbs) {\r
1878   global $andromedaPrefs;\r
1879   if ($cbs != "") {\r
1880     $cbtmp1a = explode(";",$cbs);\r
1881     echo "<table cellspacing=0 cellpadding=0 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\">";\r
1882     for ($i = 0; $i < count($cbtmp1a); $i++) {\r
1883       $cbtmp2a = explode(",",$cbtmp1a[$i]);\r
1884       echo "<tr bgcolor=\"" . $cbtmp2a[0] . "\"><td>";\r
1885       ipad(1,$cbtmp2a[1]);\r
1886       echo "</td></tr>";\r
1887     }\r
1888     echo "</table>";\r
1889   }\r
1890 }\r
1891 \r
1892 function switchRow($swx,$swcolor1,$swcolor2) {\r
1893   if ($swx % 2 == 0) {\r
1894     return $swcolor1;\r
1895   } else {\r
1896     return $swcolor2;\r
1897   }\r
1898 }\r
1899 \r
1900 function ifps2 ($x,$y,$z) {\r
1901   if ($x == 1) {\r
1902     return ($y);\r
1903   } else {return ($z);\r
1904   }\r
1905 }\r
1906 \r
1907 function displayName ($x,$y) {\r
1908   global $andromedaPrefs;\r
1909   $cfntmp2 = basename($x);\r
1910   if ($y) {\r
1911     $cfntmp2 = getbasename($cfntmp2);\r
1912   }\r
1913   $tknumtrimcodea = explode(",",$andromedaPrefs["tkNumTrimCodes"]);\r
1914   for ($i = 0; $i < count($tknumtrimcodea); $i++) {\r
1915     $trimme = true;\r
1916     for ($j = 0; $j < strlen($tknumtrimcodea[$i]); $j++) {\r
1917       if (substr($tknumtrimcodea[$i],$j,1) == "#") {\r
1918         $trimme = ($trimme && (ord(substr($cfntmp2,$j,1)) >= 48) && (ord(substr($cfntmp2,$j,1)) <= 57));\r
1919       } else {\r
1920         $trimme = ($trimme && (substr($tknumtrimcodea[$i],$j,1) == substr($cfntmp2,$j,1)));\r
1921       }\r
1922       if ($trimme == false) {\r
1923         break;\r
1924       }\r
1925     }\r
1926     if ($trimme) {\r
1927       $cfntmp2 = substr($cfntmp2,strlen($tknumtrimcodea[$i]));\r
1928       break;\r
1929     }\r
1930   }\r
1931   $cfntmp2 = str_replace("_"," ",$cfntmp2);\r
1932   $cfntmp2 = trim($cfntmp2);\r
1933   if (strtolower(substr($cfntmp2,strlen($cfntmp2)-5)) == ", the") {\r
1934     $cfntmp2 = substr($cfntmp2,strlen($cfntmp2)-3) . " " . substr($cfntmp2,0,strlen($cfntmp2)-5);\r
1935   }\r
1936   if (count(explode(" ",$cfntmp2)) == 2) {\r
1937     $spos = strpos($cfntmp2," ");\r
1938     $lword = substr($cfntmp2,0,$spos);\r
1939     $rword = substr($cfntmp2,$spos+1);\r
1940     if (substr($lword,strlen($lword)-1) == ",") {\r
1941       $cfntmp2 = $rword . " " . substr($lword,0,strlen($lword)-1);\r
1942     }\r
1943   }\r
1944   return($cfntmp2);\r
1945 }\r
1946 \r
1947 function limitName ($x) {\r
1948   global $andromedaPrefs;\r
1949   if (strlen($x) < $andromedaPrefs["popupMaxWidth"]) {\r
1950     return ($x);\r
1951   } else {\r
1952     return (chop(substr ($x, 0, ($andromedaPrefs["popupMaxWidth"] - 2))) . "...");\r
1953   }\r
1954 }\r
1955 \r
1956 function ca2s ($x) {\r
1957   for ($i = 0; $i < count($x); $i++) {\r
1958     $tmp .= chr($x[$i]);\r
1959   }\r
1960   return $tmp;\r
1961 }\r
1962 \r
1963 function newestfile ($x) {\r
1964   global $andromedaPrefs;\r
1965   $mp3s = getmp3s($x);\r
1966   for ($i = 0; $i < count($mp3s); $i++) {\r
1967     $fdate = filemtime($andromedaPrefs["mediaPhysicalPath"] . $x . "/" . $mp3s[$i]);\r
1968     if ($fdate > $maxdate) {\r
1969       $maxdate = $fdate;\r
1970     }\r
1971   }\r
1972   $sfold = getsubfolders($x);\r
1973   for ($i = 0; $i < count($sfold); $i++) {\r
1974     $maxsubfiledate = (newestfile($x . "/" . $sfold[$i]));\r
1975     if ($maxsubfiledate > $maxdate) {\r
1976       $maxdate = $maxsubfiledate;\r
1977     }\r
1978   }\r
1979   return ($maxdate);\r
1980 }\r
1981 \r
1982 function displaynew ($x) {\r
1983   global $andromedaPrefs;\r
1984   if ($x > time() - 60 * 60 * 24 * 8) {\r
1985     $fmtFdate = date("m/d/Y",$x);\r
1986     if (date("m/d/Y",time()) == $fmtFdate) {\r
1987       echo "<font size=\"1\" color=\"" . $andromedaPrefs["newFileColor"] . "\"><b><i> " . str_replace(" ","&nbsp;",trans(28)) . "</i></b></font>";\r
1988     } elseif (date("m/d/Y",time() - 60 * 60 * 24) == $fmtFdate) {\r
1989       echo "<font size=\"1\" color=\"" . $andromedaPrefs["newFileColor"] . "\"><b><i> " . str_replace(" ","&nbsp;",trans(29)) . "</i></b></font>";\r
1990     } else {\r
1991       for ($i = 2; $i < 7; $i++) {\r
1992         if (date("m/d/Y",time() - 60 * 60 * 24 * $i) == $fmtFdate) {\r
1993           echo "<font size=\"1\" color=\"" . $andromedaPrefs["newFileColor"] . "\"><b><i> " . str_replace(" ","&nbsp;",trans(30 + date("w",$x))) . "</i></b></font>";\r
1994           break;\r
1995         }\r
1996       }\r
1997     }\r
1998   }\r
1999 }\r
2000 \r
2001 function getbasename ($x) {\r
2002   return(substr($x,0,strrpos($x,".")));\r
2003 }\r
2004 \r
2005 function getextention ($x) {\r
2006   return(substr($x,strrpos($x,".")+1));\r
2007 }\r
2008 \r
2009 function fixgpc ($x) {\r
2010   if (get_magic_quotes_gpc() == 1) {\r
2011     return (str_replace ("\\\"", "\"", str_replace ("\\'", "'", $x)));\r
2012   } else {\r
2013     return($x);\r
2014   }\r
2015 }\r
2016 \r
2017 function parentFolder ($x) {\r
2018   if ($x == "") {\r
2019     return ("");\r
2020   } else {\r
2021     $tmp = dirname($x);\r
2022     if ($tmp == "/" or $tmp == "\\") {\r
2023       return ("");\r
2024     } else {\r
2025       return ($tmp);\r
2026     }\r
2027   }\r
2028 }\r
2029 error_reporting (E_ALL ^ E_NOTICE);\r
2030 if ($i == "") {\r
2031   $i = $HTTP_GET_VARS["i"];\r
2032 }\r
2033 if ($i) {\r
2034   displayImage($i);\r
2035 } else {\r
2036   set_magic_quotes_runtime(0);\r
2037   if ($SCRIPT_NAME == "") {\r
2038     $SCRIPT_NAME = $HTTP_SERVER_VARS["SCRIPT_NAME"];\r
2039   }\r
2040   if ($PHP_SELF == "") {\r
2041     $PHP_SELF = $HTTP_SERVER_VARS["PHP_SELF"];\r
2042   }\r
2043   if ($PATH_TRANSLATED == "") {\r
2044     $PATH_TRANSLATED = $HTTP_SERVER_VARS["PATH_TRANSLATED"];\r
2045   }\r
2046   if ($SCRIPT_FILENAME == "") {\r
2047     $SCRIPT_FILENAME = $HTTP_SERVER_VARS["SCRIPT_FILENAME"];\r
2048   }\r
2049   if ($LOCAL_ADDR == "") {\r
2050     $LOCAL_ADDR = $HTTP_SERVER_VARS["LOCAL_ADDR"];\r
2051   }\r
2052   if ($SERVER_ADDR == "") {\r
2053     $SERVER_ADDR = $HTTP_SERVER_VARS["SERVER_ADDR"];\r
2054   }\r
2055   if ($SERVER_NAME == "") {\r
2056     $SERVER_NAME = $HTTP_SERVER_VARS["SERVER_NAME"];\r
2057   }\r
2058   if ($SERVER_PORT == "") {\r
2059     $SERVER_PORT = $HTTP_SERVER_VARS["SERVER_PORT"];\r
2060   }\r
2061   if ($REMOTE_ADDR == "") {\r
2062     $REMOTE_ADDR = $HTTP_SERVER_VARS["REMOTE_ADDR"];\r
2063   }\r
2064   if ($LOCAL_ADDR != "") {\r
2065     $ckServerIP = $LOCAL_ADDR;\r
2066   } else {\r
2067     $ckServerIP = $SERVER_ADDR;\r
2068   }\r
2069   if ($SERVER_NAME != "") {\r
2070     $ckServerName = $SERVER_NAME;\r
2071   } else {\r
2072     $ckServerName = $ckServerIP;\r
2073   }\r
2074   if (($SERVER_PORT != "80") && ($SERVER_PORT != "")) {\r
2075     $ckServerName = $ckServerName . ":" . $SERVER_PORT;\r
2076   }\r
2077   if (($SCRIPT_NAME != $PHP_SELF) && ($PHP_SELF != "")) {\r
2078     $SCRIPT_NAME_FIXED = str_replace($SCRIPT_NAME, "", $PHP_SELF);\r
2079   } else {\r
2080     $SCRIPT_NAME_FIXED = $SCRIPT_NAME;\r
2081   }\r
2082   if ($PATH_TRANSLATED == "") {\r
2083     $SCRIPT_PATH_FIXED = $SCRIPT_FILENAME;\r
2084   } else {$SCRIPT_PATH_FIXED = $PATH_TRANSLATED;\r
2085   }\r
2086   #\r
2087 # PLEASE DO NOT MODIFY THE TRANSLATION DICTIONARIES. IF YOU THINK\r
2088 # SOMETHING COULD BE PHRASED BETTER, PLEASE LET ME KNOW SO I CAN\r
2089 # FIX IT FOR EVERYBODY.\r
2090   #\r
2091 # THANKS\r
2092   #\r
2093   $rosetta["AR"] = array("Arabic\twindows-1256\tArabic","ÚÑÈí","ãáÝ","ãáÝÇÊ","ãÌáÏ","ãÌáÏÇÊ","ÃÎÊÇÑ Çáßá","áÇÔíÁ","ÃÖÝ Åáì ÞÇÆãÉ ÇáÃÛÇäí ÇáãÝÖáÉ","ÇãÓÍ ãä ÞÇÆãÉ ÇáÃÛÇäí ÇáãÝÖáÉ","ÅÓÊãÇÚ ÇáÅÎÊíÇÑ","ÅÓÊãÇÚ Çáßá","ÞÇÆãÉ ÇáãÝÖáÇÊ %## ããÊáÆÉ","ÈÍË","ÇáÑÌÇÁ ÇáÏÎæá","ÅÓã ÇáãÓÊÎÏã","ßáãÉ ÇáÚÈæÑ","ÇáÕÝÍÉ ÇáÑÆíÓíÉ","ÇáÊÝÖíáÇÊ","Úä #a","ãæÞÚ ÇáÃÝ Êí Èí","ÇáÝäÇäíä","ÇáÃáÈæãÇÊ","ÇáÃÛÇäí","ÇáÕäÝ","ÚäÇæíä ÇáÃÛÇäí","ÃÓÆáÉ æ ÊÚáíÞÇÊ","åÐÇ ÇáãæÞÚ ãÏÇÑ ÈÈÑäÇãÌ #a äÓÎÉ ##","ÌÏíÏ Çáíæã","ÌÏíÏ ÇáÃãÓ","ÌÏíÏ ÇáÃÍÏ","ÌÏíÏ ÇáÃËäíä","ÌÏíÏ ÇáËáÇËÇÁ","ÌÏíÏ ÇáÃÑÈÚÇÁ","ÌÏíÏ ÇáÎãíÓ","ÌÏíÏ ÇáÌãÚÉ","ÌÏíÏ ÇáÓÈÊ","äÊíÌÉ ÇáÈÍË","íÌÈ ÊæÝÑ Úáì ÇáÃÞá ÍÑÝíä ááÈÍË","áÇ ÊæÌÏ äÊíÌÉ ãØÇÈÞÉ","ÇáãáÝ ÛíÑ ãæÌæÏ","ÓíÊã ÊÍæíáß ááãæÞÚ","ÇÎÊÇÑ åäÇ","áßí Êßãá","ÞÇÆãÉ ÇáÃÛÇäí ÇáãÝÖáÉ","ÅÙåÇÑ ÞÇÆãÉ ÇáÃÛÇäí ÇáãÝÖáÉ");\r
2094   $rosetta["BS"] = array("Bosnian\tiso-8859-1\tBosanski","Bosanski","fajl","fajlovi","folder","folderi","izaberi sve","nista","dodaj na listu","izbrisi sa liste","slusaj posebno","slusaj sve","lista je ##% puna","trazi","molimo vas logujte se","logujte se","Lozinka","Glavna strana","zeljena podesavanja","o #a","ftp site","izvodjac","albumi","pjesme","zanr","labels","pitanja i komentari","Powerd by #a verzija ##","novo Danas","novo jucer","novo Nedjelja","novo Ponedjeljak","novo Utorak","novo SrijedA","nOVO Cetvrtak","novo Petak","novo Subota","rezultati trazenja","trazena rijec mora imati najmanje dva slova","nista nema na dati text","File nije pronadjen","bicete preusmjereni na sajt","Klikni ovdje","da nastavite","lista","pogledaj listu");\r
2095   $rosetta["BG"] = array("Bulgarian\tWindows-1251\tBulgarian","Áúëãàðñêè","ôàéë","ôàéëà","ïàïêà","ïàïêè","èçáåðè âñè÷êè","îòêàæè âñè÷êè","äîáàâè â ñïèñúêà","èçâàäè îò ñïèñúêà","ïðîñëóøàé èçáðàíîòî","ïðîñëóøàé âñè÷êè","ñïèñúêúò å ïúëåí íà ##%","òúðñè â","ïðåäñòàâåòå ñå","ïîòðåáèòåë","ïàðîëà","íà÷àëíà ñòðàíèöà","íàñòðîéêè","çà #a","ftp äèðåêòîðèÿ","èçïúëíèòåëè","àëáóìè","ïåñíè","ñòèëîâå","îáëîæêè","âúïðîñè è êîìåíòàðè","ðåàëèçèðàíî ñ #a âåðñèÿ ##","äîáàâåíî Äíåñ","äîáàâåíî Â÷åðà","äîáàâåíî â Íåäåëÿ","äîáàâåíî â Ïîíåäåëíèê","äîáàâåíî âúâ Âòîðíèê","äîáàâåíî â Ñðÿäà","äîáàâåíî â ×åòâúðòúê","äîáàâåíî â Ïåòúê","äîáàâåíî â Ñúáîòà","ðåçóëòàò îò òúðñåíåòî","òúðñåíàòà ôðàçà òðÿáâà äà å íàé-ìàëêî îò äâà ñèìâîëà","íèùî íå å íàìåðåíî","Íÿìà òàêúâ ôàéë","Ùå áúäåòå ïðåíàñî÷åíè êúì ñòðàíèöàòà","íàòèñíåòå òóê","Çà ïðîäúëæåíèå","ñïèñúê","âèæ ñïèñúêà");\r
2096   $rosetta["CA"] = array("Catalan\tiso-8859-1\tCatal&agrave;","Català","arxiu","arxius","carpeta","carpetes","seleccionar tot","res","afegir a la llista","treure de la llista","reproduir selecció","reproduir tot","la llista està ##% plena","buscar a","identifica't si-us-plau","nom","clau","pàgina inicial","preferencies","sobre #a","lloc ftp","artistes","álbums","cançons","gèneres","segells","preguntes o comentaris","funciona amb #a versió ##","nou avui","nou d´ ahir","nou del diumenge","nou del dilluns","nou del dimarts","nou del dimecres","nou del dijous","nou del divendres","nou del dissabte","resultats de la búsqueda","cal introduir com a mínim 2 lletres","no s'han trobat coincidències","Arxiu no trobat","Hauries de ser redirigit cap aquest lloc","apreta aqui","Per continuar","llista","veure llista");\r
2097   $rosetta["CS"] = array("Czech\tiso-8859-2\tCesky","Èesky","soubor","soubory","slo¾ka","slo¾ky","vybrat v¹e","nic","pøidat do playlistu","odstranit z playlistu","pøehrát vybrané","pøehrát v¹e","playlist je z ##% plný","hledat v","prihla¹te se prosím","jméno","heslo","titulní strana","nastavení","o #a","ftp server","umìlci","alba","písnì","¾ánry","labely","otázky nebo komentáøe","pou¾ívá #a verze ##","novinka dnes","novinka vèera","novinka Nedìle","novinka Pondìlí","novinka Úterý","novinka Støedy","novinka Ètvrtka","novinka Páteku","novinka Soboty","výsledky vyhledávání","zadejte alespoò 2 znaky","nic nenalezeno","Soubor nenalezen","Budete pøesmìrování na","klikni zde","Pokraèovat","playlist","prohlídnout playlist");\r
2098   $rosetta["ZH-cn"] = array("Chinese Simplified\tGB2312\tChinese Simplified","¼òÌåÖÐÎÄ","¸öµµ°¸","¸öµµ°¸","¸ö×ÊÁϼÐ","¸ö×ÊÁϼÐ","È«Ñ¡","Çå³ý","ÐÂÔöÖÁ²¥·ÅÇåµ¥","´Ó²¥·ÅÇåµ¥ÖÐÒƳý","²¥·ÅÇåµ¥","È«²¿²¥·Å","²¥·ÅÇåµ¥ÒÑʹÓÃÁË##%","ËÑÑ°","ÇëµÇÈë","µÇÈëÃû³Æ","ÃÜÂë","Ê×Ò³","É趨","¹Ø춠#a","ftp Õ¾Ì¨","Ñݳö/ÑÝ×àÕß","ר¼­","¸èÇú","Àà±ð","³ªÆ¬¹«Ë¾","ÎÊÌâ»òÒâ¼û","ÓÉ #a ¿ª·¢ - °æ±¾ ##","ÐÂÔö - ½ñÌì","ÐÂÔö - ×òÌì","ÐÂÔö - ÐÇÆÚÈÕ","ÐÂÔö - ÐÇÆÚÒ»","ÐÂÔö - ÐÇÆÚ¶þ","ÐÂÔö - ÐÇÆÚÈþ","ÐÂÔö- ÐÇÆÚËÄ","ÐÂÔö - ÐÇÆÚÎå","ÐÂÔö - ÐÇÆÚÁù","ËÑÑ°½á¹û","ËÑÑ°Ìõ¼þ±ØÐëÓÉÖÁÉÙÁ½¸ö×ÖÔªËù×é³É","ÕÒ²»µ½·ûºÏÒªÇóµÄÏîÄ¿","ÕÒ²»µ½µµ°¸","Ä㽫»á±»´øÁì½øÈëվ̨","Çë°´ÕâÀï","¼ÌÐø","²¥·ÅÇåµ¥","¼ìÊÓ²¥·ÅÇåµ¥");\r
2099   $rosetta["ZH-tw"] = array("Chinese Traditional\tBIG5\tChinese Traditional","ÁcÅ餤¤å","­ÓÀÉ®×","­ÓÀÉ®×","­Ó¸ê®Æ§¨","­Ó¸ê®Æ§¨","¥þ¿ï","²M°£","·s¼W¦Ü¼½©ñ²M³æ","±q¼½©ñ²M³æ¤¤²¾°£","¼½©ñ²M³æ","¥þ³¡¼½©ñ","¼½©ñ²M³æ¤w¨Ï¥Î¤F##%","·j´M","½Ðµn¤J","µn¤J¦WºÙ","±K½X","­º­¶","³]©w","Ãö©ó #a","ftp ¯¸¥x","ºt¥X/ºt«µªÌ","±M¿è","ºq¦±","Ãþ§O","°Û¤ù¤½¥q","°ÝÃD©Î·N¨£","¥Ñ #a ¶}µo - ª©¥» ##","·s¼W - ¤µ¤Ñ","·s¼W - ¬Q¤Ñ","·s¼W - ¬P´Á¤é","·s¼W - ¬P´Á¤@","·s¼W - ¬P´Á¤G","·s¼W - ¬P´Á¤T","·s¼W- ¬P´Á¥|","·s¼W - ¬P´Á¤­","·s¼W - ¬P´Á¤»","·j´Mµ²ªG","·j´M±ø¥ó¥²¶·¥Ñ¦Ü¤Ö¨â­Ó¦r¤¸©Ò²Õ¦¨","§ä¤£¨ì²Å¦X­n¨Dªº¶µ¥Ø","§ä¤£¨ìÀÉ®×","§A±N·|³Q±a»â¶i¤J¯¸¥x","½Ð«ö³o¸Ì","Ä~Äò","¼½©ñ²M³æ","À˵ø¼½©ñ²M³æ");\r
2100   $rosetta["DA"] = array("Danish\tiso-8859-1\tDansk","Dansk","fil","filer","mappe","mapper","vælg alle","ingen","tilføj til liste","fjern fra liste","afspil valgte","afspil alle","listen er ##% fuld","søg","vær venlig at logge ind","brugernavn","kodeord","hjemmeside","indstillinger","om #a","ftp site","kunstnere","albums","sange","genrer","titler","spørgsmål eller kommentarer","genereret af #a version ##","nye i dag","nye i går","nye søndag","nye mandag","nye tirsdag","nye onsdag","nyt torsdag","nye fredag","nye lørdag","søgeresultater","søgeordet skal minimum indeholde 2 karakterer","din søgning gav intet resultat","siden blev ikke fundet","du burde blive viderestillet til sitet","tryk her","for at fortsætte","listen","vis listen");\r
2101   $rosetta["DE"] = array("German\tiso-8859-1\tDeutsch","Deutsch","Datei","Dateien","Ordner","Ordner","alles auswählen","aufheben","zur Playlist hinzufügen","aus der Playlist entfernen","Auswahl abspielen","alles Abspielen","die Playlist ist zu ##% voll","durchsuche","Bitte anmelden","Benutzername","Passwort","Homepage","Einstellungen","über #a","FTP Server","Künstler","Alben","Titel","Genres","Labels","Fragen oder Kommentare","Powered by #a version ##","Neu, seit Heute","Neu, seit Gestern","Neu, seit Sonntag","Neu, seit Montag","Neu, seit Dienstag","Neu, seit Mittwoch","Neu, seit Donnerstag","Neu, seit Freitag","Neu, seit Samstag","Suchergebnisse","Der Suchbegriff muß mindestens 2 Zeichen enthalten","Keine Ergebnisse gefunden","Datei nicht gefunden","Sie sollten jetzt auf die Seite weitergeleitet werden","hier klicken","Um fortzufahren","Playlist","Playlist anzeigen");\r
2102   $rosetta["ET"] = array("Estonian\tiso-8859-1\tEesti","Eesti","fail","faili","kaust","kausta","vali kõikk","tühista valitud","lisa playlisti","kõrvalda playlistist","mängi valituid","mängi kõiki","playlistist on kasutusel ##%","otsi","palun logi sisse","kasutajanimi","salasõna","kodulehekülg","eelistused","info #a-st","ftp leht","artiste","albumeid","laule","muusika stiile","kaani","küsimused või kommentarid","Powered by #a version ##","uus täna","uus eile","uus Pühapäeval","uus Esmaspäeval","uus Teisipäeval","uus Kolmapäeval","uus Neljapäeval","uus Reedel","uus Lapäeval","otsimise tulemaus","otsitav sõna peaks olema väheamlt 2 tähemärki","sinu päringule ei leidunud vastust","Faili ei leidu","Sind suunatakse uuele lehele","klikki siia","Jätkamaks","playlist","näita playlisti");\r
2103   $rosetta["EL"] = array("Greek\tiso-8859-7\tEllinika","ÅëëçíéêÜ","áñ÷åßï","áñ÷åßá","öÜêåëïò","öÜêåëïé","åðéëïãÞ üëùí","êáíÝíá","ðñïóèÞêç óôçí ëßóôá","áöáßñåóç áðü ôçí ëßóôá","Ðáßîå ôï åðéëåãìÝíï","Ðáßîôá üëá","Ç ëßóôá åßíáé ##% ãåìÜôç","åýñåóç","åßóïäïò","üíïìá ÷ñÞóôç","êùäéêüò","êåíôñéêÞ óåëßäá","ðñïôéìÞóåéò","ó÷åôéêÜ ìå ôçí #a","ftp site","êáëéôÝ÷íåò","äßóêïé","ôñáãïýäéá","åßäïò","åôéêÝôåò","åñùôÞóåéò Þ ó÷üëéá","öôéáãìÝíï ìå #a Ýêäïóç ##","Íåü óÞìåñá","ÍÝï ÷ôÝò","ÍÝï ÊõñéáêÞ","ÍÝï ÄåõôÝñá","ÍÝï Ôñßôç","ÍÝï ÔåôÜñôç","ÍÝï ÐÝìðôç","ÍÝï ÐáñáóêåõÞ","ÍÝï ÓáââÜôï","áðïôåëÝóìáôá åýñåóçò","ç ëÝîç ðñïò áíáæÞôçóç ðñÝðåé íá Ý÷åé ôïõëÜ÷éóôïí 2 ÷áñáêôÞñåò","äåí âñÝèçêå ôßðïôá","Ôï áñ÷åßï äåí âñÝèçêå","Èá ìåôáöåñèåßôå óôï site","êÜíôå click åäþ","Ãéá íá óõíå÷ßóåôå","ëßóôá ôñáãïõäéþí","äåßôå ôçí ëßóôá ôñáãïõäéþí");\r
2104   $rosetta["EN"] = array("English\tiso-8859-1\tEnglish","English","file","files","folder","folders","select all","none","add to playlist","remove from playlist","play selection","play all","the playlist is ##% full","Search","please logon","logon","password","home page","preferences","about #a","ftp site","artists","albums","songs","genres","labels","","","new today","new yesterday","new Sunday","new Monday","new Tuesday","new Wednesday","new Thursday","new Friday","new Saturday","Search results","the search term must be at least 2 characters","no matches found","File not found","You should be redirected into the site","click here","To continue","playlist","view playlist");\r
2105   $rosetta["ES"] = array("Spanish\tiso-8859-1\tEspa&ntilde;ol","Español","archivo","archivos","carpeta","carpetas","seleccionar todo","ninguno","añadir a la lista"," quitar de la lista","reproducir selección","reproducir todas","la lista esta ##% llena","buscar en","autentifícate por favor","nombre","contraseña","web inicial","preferencias","acerca de #a","sitio de ftp","artistas","discos","canciones","géneros","disqueras","preguntas o comentarios","soportado por #a versión ##","nueva hoy","nueva ayer","nueva domingo","nueva lunes","nueva martes","nueva miércoles","nueva jueves","nueva viernes","nueva sábado","resultados de la búsqueda","la búsqueda debe tener al menos 2 letras","no se encontraron coincidencias","Archivo no encontrado","Deberías ser redirigido al sitio","pulsa aquí","Para continuar","lista","ver lista");\r
2106   $rosetta["FR"] = array("French\tiso-8859-1\tFran&ccedil;ais","Français","fichier","fichiers","dossier","dossiers","sélectionner tout","aucun","ajouter à la liste","enlever de la liste","jouer la sélection","jouer tout","la liste est pleine à ##%","rechercher","enregistrez-vous, svp","usager","mot de passe","acceuil","préférences","à propos d'#a","site ftp","artistes","albums","chansons","genres","maisons d'éditions","questions ou commentaires","généré par #a version ##","ajouté aujourd'hui","ajouté hier","ajouté dimanche","ajouté lundi","ajouté mardi","ajouté mercredi","ajouté jeudi","ajouté vendredi","ajouté samedi","résultats","le mot-clé recherché doit avoir au moins 2 caractères","aucuns résultats pour cette recherche","Le fichier n'a pas été trouvé","Vous devriez être redirigé vers le site","cliquez ici","Pour continuer","liste","voir la liste");\r
2107   $rosetta["IS"] = array("Icelandic\tiso-8859-1\t&Iacute;slenska","Íslenska","skrá","skrár","mappa","möppur","velja allt","ekkert","bæta við lagalista","fjarlægja af lagalista","spila val","spila allt","lagalistinn er ##% fullur","leita á","skráðu þig inn","notendanafn","lykilorð","heimasíða","stillingar","um #a","ftp svæði","listamenn","plötur","lög","tegund","útgáfur","spurningar eða ábendingar","knúið af #a útgáfa ##","nýtt í dag","nýtt í gær","nýtt á sunnudag","nýtt á mánudag","nýtt á þriðjudag","nýtt á miðvikudag","nýtt á fimmtudag","nýtt á föstudag","nýtt á laugardag","niðurstöður leitar","leitin verður að innihalda að minnsta kosti 2 stafi","ekkert fannst","Skráin finnst ekki","Þú ættir að vera fluttur á síðuna","smelltu hér","Til að halda áfram","agalisti","skoða lagalista");\r
2108   $rosetta["IT"] = array("Italian\tiso-8859-1\tItaliano","Italiano","file","files","cartella","cartelle","seleziona tutto","cancella","aggiungi alla playlist","rimuovi dalla playlist","play selezione","play tutto","la playlist e' piena al ##%","cerca","inserisci utente e password","utente","password","home page","preferenze","informazioni su #a","sito FTP ","artisti","albums","canzoni","generi","etichette","domande o commenti","creato con #a versione ##","aggiunto oggi","aggiunto ieri","aggiunto domenica","aggiunto lunedi","aggiunto martedi","aggiunto mercoledi","aggiunto giovedi","aggiunto venerdi","aggiunto sabato","risultati della ricerca","la parola da cercare deve esse di 2 lettere almeno","nessun risultato per questa ricerca","File non trovato","Sarete rediretti al sito","clicca qui","Per continuare","playlist","guarda la playlist");\r
2109   $rosetta["JA"] = array("Japanese\tShift_JIS\tJapanese","\93ú\96{\8cê","\83t\83@\83C\83\8b","\95¡\90\94\83t\83@\83C\83\8b","\83t\83H\83\8b\83_","\95¡\90\94\83t\83H\83\8b\83_","\91S\95\94\91I\91ð","\82È\82µ","\83\8a\83X\83g\82É\92Ç\89Á\82·\82é","\83\8a\83X\83g\82©\82ç\8dí\8f\9c\82·\82é","\91I\91ð\82µ\82½\8bÈ\82ð\8dÄ\90\82·\82é","\82·\82×\82Ä\8dÄ\90\82·\82é","\83\8a\83X\83g\82Í##%\83t\83\8b","\83T\81[\83`","\83\8d\83O\83I\83\93\82µ\82Ä\82­\82¾\82³\82¢","\83\8d\83O\83I\83\93","\83p\83X\83\8f\81[\83h","\83z\81[\83\80\83y\81[\83W","\83I\83v\83V\83\87\83\93","#a\82É\82Â\82¢\82Ä","ftp \83T\83C\83g","\83A\81[\83e\83B\83X\83g","\83A\83\8b\83o\83\80","\8bÈ","\83W\83\83\83\93\83\8b","\83\8c\81[\83x\83\8b","\8e¿\96â\82Ü\82½\82Í\83R\83\81\83\93\83g","Powered by #a version ##","\8cf\8dÚ\8d¡\93ú","\8cf\8dÚ\8dð\93ú","\8cf\8dÚ\93ú\97j\93ú","\8cf\8dÚ\8c\8e\97j\93ú","\8cf\8dÚ\89Î\97j\93ú","\8cf\8dÚ\90\85\97j\93ú","\8cf\8dÚ\96Ø\97j\93ú","\8cf\8dÚ\8bà\97j\93ú","\8cf\8dÚ\93y\97j\93ú","\8c\9f\8dõ\8c\8b\89Ê","\83L\81[\83\8f\81[\83h\82Í2\95\8e\9a\88È\8fã\82É\82µ\82Ä\82­\82¾\82³\82¢","\82Ý\82Â\82©\82è\82Ü\82¹\82ñ\82Å\82µ\82½","\83t\83@\83C\83\8b\82Í\8c©\82Â\82©\82è\82Ü\82¹\82ñ\82Å\82µ\82½","\8e©\93®\93I\82É\83T\83C\83g\82Ö\88Ú\93®\82µ\82Ü\82·","\82±\82±\82ð\83N\83\8a\83b\83N\82µ\82Ä\82­\82¾\82³\82¢","\91±\82­","\8dÄ\90\83\8a\83X\83g","\8dÄ\90\83\8a\83X\83g\82ð\8c©\82é");\r
2110   $rosetta["KO"] = array("Korean\teuc-kr\tKorean","Çѱ¹¾î","ÆÄÀÏ","ÆÄÀÏ","Æú´õ","Æú´õ","¸ðµÎ ¼±ÅÃ","¼±ÅàÇØÁ¦","Àç»ý ¸ñ·Ï¿¡ Ãß°¡","Àç»ý ¸ñ·Ï¿¡¼­ »èÁ¦","¿¬¼Ó µè±â","¸ðµÎ µè±â","ÀÌ¿ë °¡´ÉÇÑ Àç»ý ¸ñ·Ï¿¡¼­ ##% »ç¿ë Áß ÀÔ´Ï´Ù","°Ë»ö","·Î±×ÀΠÇϼ¼¿ä","·Î±×ÀÎ","Æнº¿öµå","óÀ½À¸·Î","¼³Á¤","#a¿¡ ´ëÇÏ¿©","FTP »çÀÌÆ®","¾ÆƼ½ºÆ®","¾Ù¹ü","°î¸ñ","Àö¸£","·¹À̺í","À½¾Ç°ú °ü·ÃµÈ ¹®ÀÇ»çÇ×Àº ¸ÞÀÏÁÖ¼¼¿ä","Powered by #a version ##","(Ãß°¡)¿À´Ã","(Ãß°¡)¾îÁ¦","(Ãß°¡)ÀÏ¿äÀÏ","(Ãß°¡)¿ù¿äÀÏ","(Ãß°¡)È­¿äÀÏ","(Ãß°¡)¼ö¿äÀÏ","(Ãß°¡)¸ñ¿äÀÏ","(Ãß°¡)±Ý¿äÀÏ","(Ãß°¡)Åä¿äÀÏ","°Ë»ö °á°ú","°Ë»ö¾î´Â ÃÖ¼Ò 2ÀÚ ÀÌ»ó À̾î¾ß ÇÕ´Ï´Ù","ÀÏÄ¡Çϴ ÀÚ·á°¡ ¾ø½À´Ï´Ù","ÆÄÀÏÀ» Ã£À» ¼ö ¾ø½À´Ï´Ù","´Ù½Ã ½Ãµµ ÇØ ÁÖ¼¼¿ä","Ŭ¸¯Çϼ¼¿ä","¿©±â¸¦","Àç»ý ¸ñ·Ï","Àç»ý ¸ñ·Ï º¸±â");\r
2111   $rosetta["HU"] = array("Hungarian\tiso-8859-2\tMagyar","Magyar","fájl","fájl","könyvtár","könyvtár","mind kiválaszt","semmi","hozzáadás a listához","törlés a listából","kiválasztottak lejátszása","minden lejátszása","a lista ##%-ig tele","Keresés:","Kérem lépj be","Felhasználónév","Jelszó","Kezdõoldal","Beállítások","Az #a-ról","FTP tárhely","Elõadók","Albumok","Dalok","Stílusok","Feliratok","Kérdések vagy megjegyzések","Az oldal az #a ## verzióval készült","Mai újdonságok","Tegnapi újdonságok","Vasárnapi újdonságok","Hétfôi újdonságok","Keddi újdonságok","Szerdai újdonságok","Csütörtöki újdonságok","Pénteki újdonságok","Szombati újdonságok","A keresés eredménye","A keresendô szónak legalább 2 betûbôl kell állni","Nincs találat","A fájl nem található","Mindjárt átirányítunk az oldalunkra","kattints ide","A folytatáshoz","Dalok listája","Lista megtekintése");\r
2112   $rosetta["NL"] = array("Dutch\tiso-8859-1\tNederlands","Nederlands","bestand","bestanden","map","mappen","alles selecteren","niets","aan playlist toevoegen","van playlist verwijderen","selectie afspelen","speel alles","de playlist is voor ##% vol","zoek in","Inloggen a.u.b.","gebruikersnaam","wachtwoord","home pagina","instellingen","over #a","ftp site","artiesten","albums","nummers","genres","labels","vragen of opmerkingen","Powered by #a versie ##","nieuw vandaag","nieuw gisteren","nieuw zondag","nieuw maandag","nieuw dinsdag","nieuw woensdag","nieuw donderdag","nieuw vrijdag","nieuw zaterdag","zoekresultaten","de zoekterm moet uit minimaal 2 tekens bestaan","geen zoekresultaten gevonden","Bestand niet gevonden","U wordt naar de site doorgestuurd","klik hier","Om door te gaan","playlist","playlist bekijken");\r
2113   $rosetta["NO"] = array("Norwegian\tiso-8859-1\tNorsk","Norsk","fil","filer","mappe","mapper","velg alle","ingen","legg til i spillelisten","fjern fra spillelisten","spill valgte","spill alle","spillelisten er ##% full","Søk","Vennligst logg inn","Brukernavn","Passord","hjem","innstillinger","om #a","ftp side","artister","album","sanger","sjangere","plateselskaper","spørsmål eller kommentarer","Drevet av #a versjon ##","ny i dag","ny i går","ny på søndag","ny på mandag","ny på tirsdag","ny på onsdag","ny på torsdag","ny på fredag","ny på lørdag","søkeresultater","søkestrengen må være på minst 2 tegn","ingen treff","Finner ikke filen","Du burde bli videresendt til siden","klikk her","For å fortsette","spillelisten","se på spillelisten");\r
2114   $rosetta["PL"] = array("Polish\tiso-8859-2\tPolski","Polski","plik","plików","folder","folderów","zaznacz wszystko","nic","dodaj do listy","usuñ z listy","odtwórz zaznaczone","odtwórz wszystko","wype³nienie listy ##%","szukaj","zaloguj siê","u¿ytkownik","has³o","strona g³ówna","preferencje","o #a","serwer FTP","wykonawca","albumy","utwory","gatunek","tytu³","pytania lub komentarze","Powered by #a version ##","dzisiejsze nowo¶ci","wczorajsze nowo¶ci","nowo¶æ z niedzieli","nowo¶æ z poniedzia³ku","nowo¶æ z wtorku","nowo¶æ ze ¶rody","nowo¶æ z czwartku","nowo¶æ z pi±tku","nowo¶æ z soboty","wyniki szukania","szukana fraza musi sk³adaæ siê z min. 2 liter","nie znaleziono","Brak pliku","Musisz byæ przekierowany do strony","kliknij tutaj","Kontynuacja","lista odtwarzania","widok listy odtwarzania");\r
2115   $rosetta["PT"] = array("Portuguese\tiso-8859-1\tPortugu&ecirc;s","Português","ficheiro","ficheiros","pasta","pastas","seleccionar todos","nenhum","juntar à playlist","remover da playlist","tocar selecção","tocar todos","a playlist está ##% cheia","procure no","por favor identifique-se","utilizador","palavra-passe","homepage","preferências","acerca do #a","site ftp","artistas","álbums","canções","géneros","editoras","questões ou comentários","Powered by #a versão ##","novo hoje","novo ontem","novo domingo","novo segunda-feira","novo terça-feira","novo quarta-feira","novo quinta-feira","novo sexta-feira","novo sábado","resultados da pesquisa","o termo da pesquisa deve ter pelo menos 2 caracteres","nenhum resultado encontrado","Ficheiro não encontrado","Deverá ser redirigido para este site","clique aqui","Para continuar","playlist","ver playlist");\r
2116   $rosetta["PT-br"] = array("Portuguese (Brazil)\tiso-8859-1\tPortugu&ecirc;s (Brasil)","Português (Brasil)","arquivo","arquivos","pasta","pastas","selecionar todos","nenhum","adicionar ao playlist","remover do playlist","tocar seleção","tocar todas","o playlist está ##% cheio","procure no","por favor identifique-se","usuário","senha","homepage","preferências","sobre o #a","site ftp","artistas","álbums","músicas","estilos","selos","perguntas ou comentários","Powered by #a versão ##","novo hoje","novo ontem","novo domingo","novo segunda-feira","novo terça-feira","novo quarta-feira","novo quinta-feira","novo sexta-feira","novo sábado","resultados da pesquisa","o termo da pesquisa deve ter pelo menos 2 caracteres","nenhum resultado encontrado","Arquivo não encontrado","Deverá ser redirecionado para este site","clique aqui","Para continuar","playlist","ver o playlist");\r
2117   $rosetta["RU"] = array("Russian\tWindows-1251\tPycckuu","Ðóññêèé","ôàéë","ôàéëîâ","ïàïêà","ïàïîê","âûáðàòü âñå","íè÷åãî","äîáàâèòü â ñïèñîê","óäàëèòü èç ñïèñêà","èãðàòü âûäåëåííîå","èãðàòü âñå","ñïèñîê ïîëîí íà ##%","èñêàòü íà","âõîä â ñèñòåìó","èìÿ","ïàðîëü","äîìàøíÿÿ ñòðàíèöà","íàñòðîéêè","îá #a","ñàéò ftp","èñïîëíèòåëè","àëüáîìû","ïåñíè","æàíðû","íàçâàíèÿ","âîïðîñû èëè çàìå÷àíèÿ","ðàáîòàåò íà #a âåðñèè ##","äîáàâëåíî ñåãîäíÿ","äîáàâëåíî â÷åðà","äîáàâëåíî â âîñêðåñåíüå","äîáàâëåíî â ïîíåäåëüíèê","äîáàâëåíî â âòîðíèê","äîáàâëåíî â ñðåäó","äîáàâëåíî â ÷åòâåðã","äîáàâëåíî â ïÿòíèöó","äîáàâëåíî â ñóááîòó","ðåçóëüòàòû ïîèñêà","ñëîâî äëÿ ïîèñêà äîëæíî áûòü áîëåå 2 ñèìâîëîâ â äëèíó","íè÷åãî íå íàéäåíî","Ôàéë íå íàéäåí","Ïðîèñõîäèò ïåðåíàïðàâëåíèå íà ñàéò","ùåëêíèòå çäåñü","Äëÿ ïðîäîëæåíèÿ","ñïèñîê","ïðîñìîòð ñïèñêà");\r
2118   $rosetta["RO"] = array("Romanian\tiso-8859-2\tRom&acirc;na","Românã","fiºier","fiºiere","director","directoare","selecteazã toate","nici unul","adaugã la listã","ºterge din listã","redã selecþia","redã toate","lista de piese este ##% plinã","cautã pe","vã rog conectaþi-vã","utilizator","parola","pagina principalã","preferinþe","despre #a","locaþie ftp","artiºti","albume","piese","stiluri","etichete","întrebãri sau comentarii","creat de #a versiunea ##","adãugat astãzi","adãugat ieri","adãugat Duminicã","adãugat Luni","adãugat Marþi","adãugat Miercuri","adãugat Joi","adãugat Vineri","adãugat Sîmbãtã","rezultatul cãutãrii","cuvîntul de cãutare trebuie sa aibã cel puþin 2 caractere","nu am gãsit nimic","Fiºierul nu existã","Trebuie sã reintri în site","apasã aici","Pentru a continua","lista","vizualizeazã lista");\r
2119   $rosetta["SQ"] = array("Albanian\tiso-8859-1\tShqip","Shqip","Fajl-i","Fajl-at","Dosja","Dosjet","zgjedh të gjitha","asnjë","shto ne listë","largo nga lista","dëgjo të zgjedhurën","dëgjo të gjitha","Lista ështe e mbushur ##%","Kërko","Lajmëroheni ju lutem","Emri","Fjalëkalimi","Homepage-i","Konfigurimi","lidhur me #a","ftp faqja","Artistët","Albumet","Këngët","Zhanret","Emërtimet","Pyetjet ose Komentet","Powered by #a version ##","Risi nga sot","Risi nga dje","Risi nga e Diela","Risi nga e Hëna","Risi nga e Marta","Risi nga e Mërkura","Risi nga e Enjtja","Risi nga e Premtja","Risi nga e Shtuna","Rezultatet e kërkimit","Termi që kërkoni duhet të ketë më së paku 2 shkronja","nuk u gjetë asnjë rezultat","Fajli nuk është gjendur","Do te duhej te ridrejtoheshit ne faqen","kliko këtu","për të vazhduar","Lista","shiqo Listën");\r
2120   $rosetta["SL"] = array("Slovenian\tiso-8859-2\tSlovenscina","Sloven¹èina","datoteka","datotek","mapa","map","izberi vse","niè","dodaj na seznam","zbri¹i s seznama","predvajaj izbrano","predvajaj vse","seznam je ##% poln","i¹èi","prosim prijavi se","prijava","geslo","domaèa stran","preference","o #a","ftp server","izvajalci","albumi","skladbe","¾anr","zalo¾be","vpra¹anja ali pripombe","Powered by #a version ##","novo danes","novo od vèeraj","novo od nedelje","novo od ponedeljka","novo od torka","novo od srede","novo od èetrtka","novo od petka","novo od sobote","i¹èi po zadetkih","iskani termin naj vsebuje vsaj 2 znaka","ni zadetkov","Datoteka ni najdena","Preusmerjeni bi morali biti na stran","klikni tukaj","Za nadaljevanje","seznam","poglej seznam");\r
2121   $rosetta["SK"] = array("Slovak\tiso-8859-2\tSlovensky","Slovensky","súbor","súbory","zlo¾ka","zlo¾ky","vybra» v¹etko","zma¾ výber","prida» do playlistu","odstráni» z playlistu","prehra» vybrané","prehra» v¹etko","playlist je z ##% plný","hµada» v","prihláste sa prosím","meno","heslo","titulná strana","nastavenie","o Andromede","ftp server","umelci","albumi","piesne","¾ánre","labely","otázky alebo komentáre","pou¾íva Andromedu verzie ##","novinka dnes","novinka vèera","novinka Nedele","novinka Pondelka","novinka Utorka","novinka Stredy","novinka ©tvrtka","novinka Piatku","novinka Soboty","výsledky vyhµadávania","zadejte aspoò 2 znaky","niè nenájdené","Súbor nenájdený","Budete presmerováný na","kliknite tu","Pokraèova»","playlist","prohliadnu» playlist");\r
2122   $rosetta["SR"] = array("Serbian\tiso-8859-2\tSrpski","Srpski","fajl","fajla","direktorijum","direktorijuma","selektuj sve","ni¹ta","dodaj u listu","izbri¹i iz liste","slu¹aj selektovano","slu¹aj sve","lista je ##% puna","pretraga","molimo da se ulogujete","logovanje","¹ifra","glavna strana","pode¹avanja","#a","ftp strana","umetnici","albumi","pesme","¾anrovi","labele","pitanja ili komentari","Powered by #a version ##","novi danas","novi juèe","novi Nedelja","novi Ponedeljak","novi Utorak","novi Sreda","novi Èetvrtak","novi Petak","novi Subota","rezultati pretrage","morate uneti najmanje 2 slova za pretragu","ni¹ta nije pronaðeno","Fajl nije pronaðen","Trebalo bi da budete poslani na sajt","kliknite ovde","Da nastavite","lista","pogledaj listu");\r
2123   $rosetta["FI"] = array("Finnish\tiso-8859-1\tSuomi","Suomi","tiedosto","tiedostoa","kansio","kansiota","valitse kaikki","poista valinnat","lisää soittolistaan","poista soittolistasta","soita valitut","soita kaikki","soittolistan tilasta on käytössä ##%","etsi palvelimelta","kirjaudu järjestelmään","käyttäjätunnus","salasana","kotisivu","asetukset","tietoja #a:sta","ftp-palvelin","artistit","albumit","kappaleet","musiikkityylit","levy-yhtiöt","kysymykset tai kommentit","järjestelmä on toteutettu #a versiolla ##","uusi tänään","uusi eilen","uusi sunnuntai","uusi maanantai","uusi tiistai","uusi keskiviikko","uusi torstai","uusi perjantai","uusi lauantai","haun tulokset","hakusanan tulee olla vähintään 2 kirjaimen pituinen","hakusanalla ei löytynyt tiedostoja","Tiedostoa ei löydy","Selaimesi pitäisi ohjautua uudelle sivulle","paina tästä","Jatkaaksesi","soittolista","näytä soittolista");\r
2124   $rosetta["SV"] = array("Swedish\tiso-8859-1\tSvenska","Svenska","fil","filer","mapp","mappar","välj alla","inga","lägg till spellistan","radera från spellistan","spela urvalet","spela alla","spellistan är till ##% full","sök i","Logga in tack","loggin","lösenord","hemsida","inställningar","om #a","ftp adress","artist","album","sånger","kategori","skivmärke","frågor och kommentarer","skapad av #a version ##","ny idag","ny igår","ny Söndag","ny Måndag","ny Tisdag","ny Onsdag","ny Torsdag","ny Fredag","ny Lördag","sök resultat","sökordet måste vara minst 2 tecken","inga träffar funna","inga filer funna","du blir vidarbefodrad till sidan","tryck här","fortsätt","spellistan","visa spellista");\r
2125   $rosetta["TR"] = array("Turkish\tiso-8859-9\tT&uuml;rk&ccedil;e","Türkçe","dosya","dosya","dizin","dizin","hepsini seç","hiçbiri","listeye ekle","listeden çýkar","seçimi çal","hepsini çal","liste ##% dolu","ara","lütfen giriþ yapýn","kullanýcý","þifre","ana sayfa","ayarlar","#a hakkýnda","ftp site","artistler","albümler","þarkýlar","türler","etiketler","sorular veya öneriler","destekleyen; #a versiyon ##","yeni bugün","yeni dün","yeni Pazar","yeni Pazartesi","yeni Salý","yeni Çarþamba","yeni Perþembe","yeni Cuma","yeni Cumartesi","arama sonuçlarý","arama kriteri en az 2 karakterli olmalý","aranan kayýt bulunamadý","Dosya bulunamadý","Siteye gönderilebilirsiniz","buraya týklayýn","Devam için","liste","listeye gözat");\r
2126   $rosetta["VI"] = array("Vietnamese\tUTF-8\tViet Ngu","Vi&#7879;t Ng&#7919;","H&#7891; s&#417;","H&#7891; s&#417;","T&#7853;p nh&#7841;c","T&#7853;p nh&#7841;c","Ch&#7885;n t&#7845;t c&#7843;","kh&#244;ng","Th&#234;m v&#224; danh s&#225;ch","X&#243;a t&#7915; danh s&#225;ch","Nghe b&#7843;n nh&#7841;c","Nghe danh s&#225;ch nh&#7841;c","Danh s&#225;ch nh&#7841;c ##% &#273;&#7847;y","T&#236;m","Xin &#273;&#259;ng nh&#7853;p","&#272;&#259;ng nh&#7853;p","M&#7853;t m&#227;","Trang ch&#7911;","&#221; th&#237;ch","V&#224;i n&#233;t v&#7873; #a","Th&#432; vi&#7879;n FTP","Ca s&#297;","albums","b&#7843;n nh&#7841;c","th&#7875; lo&#7841;i nh&#7841;c","trung t&#226;m","C&#226;u h&#7887;i / &#253; ki&#7871;n","Thi&#7871;t k&#7871; b&#7903;i #a ##","B&#224;i m&#7899;i h&#244;m nay","B&#224;i m&#7899;i h&#244;m qua","B&#224;i m&#7899;i Ch&#7911; nh&#7853;t","B&#224;i m&#7899;i th&#7913; Hai","B&#224;i m&#7899;i th&#7913; Ba","B&#224;i m&#7899;i th&#7913; T&#432;","B&#224;i m&#7899;i th&#7913; N&#259;m","B&#224;i m&#7899;i th&#7913; S&#225;u","B&#224;i m&#7899;i th&#7913; B&#7843;y","D&#242; t&#236;m nh&#7841;c","T&#7915; t&#236;m ki&#7871;m ph&#7843;i h&#417;n 2 ch&#7919;","Kh&#244;ng t&#236;m th&#7845;y","T&#236;m kh&#244;ng th&#7845;y b&#7843;n nh&#7841;c","B&#7841;n s&#7869; &#273;&#432;&#7907;c &#273;&#432;a v&#224;o th&#432; vi&#7879;n","B&#7845;m v&#224;o &#273;&#226;y","Ti&#7871;p t&#7909;c","Danh s&#225;ch nh&#7841;c","Coi danh s&#225;ch nh&#7841;c");\r
2127   loadConstants();\r
2128   loadDefaults();\r
2129   loadPrefs();\r
2130   if ($andromedaPrefs["timeout"] != "") {\r
2131     set_time_limit($andromedaPrefs["timeout"]);\r
2132   }\r
2133   if ($andromedaPrefs["rootName"] == "") {\r
2134     $andromedaPrefs["rootName"] = displayName($andromedaPrefs["mediaPhysicalPath"],false);\r
2135   }\r
2136   if ($andromedaPrefs["rootName"] == "") {\r
2137     $andromedaPrefs["rootName"] = "root";\r
2138   }\r
2139   $sck = !(!$andromedaConst["moduleMode"] && $andromedaPrefs["moduleOnly"]);\r
2140   if ($sck) {\r
2141     $sck = !((substr(__FILE__,-1) == "\\") || (substr(__FILE__,-1) == "/"));\r
2142   }\r
2143   if ($sck) {\r
2144     $sck = !strpos(strtolower($PHP_SELF), substr(__FILE__,strrpos(__FILE__,".")) . "/");\r
2145   }\r
2146   if (!$sck) {\r
2147     exit();\r
2148   }\r
2149   if (($andromedaPrefs["coreInclude"] != "") && (!$andromedaConst["moduleMode"])) {\r
2150     include($andromedaPrefs["coreInclude"]);\r
2151   }\r
2152   if ($andromedaPrefs["useExtLogon"]) {\r
2153     if (function_exists("is_user")) {\r
2154       if (!is_user($user)) {\r
2155         Header("Location: user.php");\r
2156       }\r
2157     } else {\r
2158       if (!isset($user)) {\r
2159         Header("Location: user.php");\r
2160       }\r
2161     }\r
2162   }\r
2163   if ($andromedaConst["moduleMode"]) {\r
2164     $andromedaPrefs["disableHTMLheaders"] = true;\r
2165   }\r
2166   for ($rpi = 1; $rpi <= $andromedaPrefs["cBlockCount"]; $rpi++) {\r
2167     $rtmp2 = "playlist" . $rpi;\r
2168     if ($$rtmp2 == "") {\r
2169       $$rtmp2 = $HTTP_COOKIE_VARS["playlist" . $rpi];\r
2170     }\r
2171   }\r
2172   if ($logon == "") {\r
2173     $logon = $HTTP_COOKIE_VARS["logon"];\r
2174   }\r
2175   if ($password == "") {\r
2176     $password = $HTTP_COOKIE_VARS["password"];\r
2177   }\r
2178   if ($clang == "") {\r
2179     $clang = $HTTP_COOKIE_VARS["clang"];\r
2180   }\r
2181   if ($f == "") {\r
2182     $f = $HTTP_GET_VARS["f"];\r
2183   }\r
2184   if ($f == "") {\r
2185     $f = $HTTP_POST_VARS["f"];\r
2186   }\r
2187   if ($m == "") {\r
2188     $m = $HTTP_GET_VARS["m"];\r
2189   }\r
2190   if ($m == "") {\r
2191     $m = $HTTP_POST_VARS["m"];\r
2192   }\r
2193   if ($p == "") {\r
2194     $p = $HTTP_GET_VARS["p"];\r
2195   }\r
2196   if ($p == "") {\r
2197     $p = $HTTP_POST_VARS["p"];\r
2198   }\r
2199   if ($q == "") {\r
2200     $q = $HTTP_GET_VARS["q"];\r
2201   }\r
2202   if ($q == "") {\r
2203     $q = $HTTP_POST_VARS["q"];\r
2204   }\r
2205   if ($s == "") {\r
2206     $s = $HTTP_GET_VARS["s"];\r
2207   }\r
2208   if ($s == "") {\r
2209     $s = $HTTP_POST_VARS["s"];\r
2210   }\r
2211   if ($sm == "") {\r
2212     $sm = $HTTP_GET_VARS["sm"];\r
2213   }\r
2214   if ($sm == "") {\r
2215     $sm = $HTTP_POST_VARS["sm"];\r
2216   }\r
2217   if ($y == "") {\r
2218     $y = $HTTP_GET_VARS["y"];\r
2219   }\r
2220   if ($y == "") {\r
2221     $y = $HTTP_POST_VARS["y"];\r
2222   }\r
2223   if ($t == "") {\r
2224     $t = $HTTP_GET_VARS["t"];\r
2225   }\r
2226   if ($t == "") {\r
2227     $t = $HTTP_POST_VARS["t"];\r
2228   }\r
2229   if ($flogon == "") {\r
2230     $flogon = $HTTP_POST_VARS["flogon"];\r
2231   }\r
2232   if ($fpassword == "") {\r
2233     $fpassword = $HTTP_POST_VARS["fpassword"];\r
2234   }\r
2235   $fttmpa = explode(",",strtolower($andromedaPrefs["audioFileTypes"]));\r
2236   for ($fti = 0; $fti < count($fttmpa); $fti++) {\r
2237     $fileTypes[$fttmpa[$fti]] = "audio";\r
2238   }\r
2239   $fttmpa = explode(",",strtolower($andromedaPrefs["videoFileTypes"]));\r
2240   for ($fti = 0; $fti < count($fttmpa); $fti++) {\r
2241     $fileTypes[$fttmpa[$fti]] = "video";\r
2242   }\r
2243   $fttmpa = explode(",",strtolower($andromedaPrefs["playlistFileTypes"]));\r
2244   for ($fti = 0; $fti < count($fttmpa); $fti++) {\r
2245     $fileTypes[$fttmpa[$fti]] = "playlist";\r
2246   }\r
2247   $fttmpa = explode(",",$andromedaPrefs["folderSkipNames"]);\r
2248   for ($fti = 0; $fti < count($fttmpa); $fti++) {\r
2249     $folderSkipNames[$fttmpa[$fti]] = true;\r
2250   }\r
2251 // This appears to check that certain constants have not changed\r
2252 // It does this by changing the array to a string - the first one\r
2253 // equals "edition" - then getting that out of $andromedaConst.\r
2254 // The second transformation evaluates to "EVALUATION COPY".\r
2255 // Not too sneaky - easily defeated...\r
2256 //  if ($andromedaConst[ca2s(array(101,100,105,116,105,111,110))] != ca2s(array(69,86,65,76,85,65,84,73,79,78,32,67,79,80,89))) {\r
2257 //    exit();\r
2258 //  }\r
2259   loadSkin();\r
2260   loadLogons();\r
2261   $totalrowcount = 0;\r
2262   $filerowcount = 0;\r
2263   $plrpre = "";\r
2264   if ($andromedaPrefs["permitTranslation"]) {\r
2265     if ($t != "") {\r
2266       $currentLanguage = $t;\r
2267     } else {\r
2268       if ($clang != "") {\r
2269         $currentLanguage = $clang;\r
2270       } else {\r
2271         $currentLanguage = $andromedaPrefs["defaultLanguage"];\r
2272       }\r
2273     }\r
2274   } else {\r
2275     $currentLanguage = $andromedaPrefs["defaultLanguage"];\r
2276   }\r
2277   $clangCodes = explode("\t",$rosetta[$currentLanguage][0]);\r
2278   if (!($andromedaPrefs["requireLogon"]) || $andromedaConst["localUser"]) {\r
2279     $permitAccess = true;\r
2280   } else {\r
2281     $permitAccess = (($andromedaLogons[$logon] == $password) && ($logon != "") && ($q != "l"));\r
2282   }\r
2283   if (($andromedaConst[ca2s(array(97,112,112,97,117,116,104))] != ca2s(array(83,99,111,116,116,32,77,97,116,116,104,101,119,115))) || ($andromedaConst[ca2s(array(97,112,112,99,111,114,112))] != ca2s(array(84,117,114,110,115,116,121,108,101))) || ($andromedaConst[ca2s(array(97,112,112,110,97,109,101))] != ca2s(array(65,110,100,114,111,109,101,100,97))) || ($andromedaConst[ca2s(array(97,112,112,114,111,111,116))] != ca2s(array(104,116,116,112,58,47,47,119,119,119,46,116,117,114,110,115,116,121,108,101,46,99,111,109,47,97,110,100,114,111,109,101,100,97)))) {\r
2284     exit();\r
2285   }\r
2286   if (!$permitAccess) {\r
2287     if ($q == "l") {\r
2288       $permitAccess2 = (($andromedaLogons[$flogon] == $fpassword) && ($flogon != "") && ($fpassword != ""));\r
2289       if (!$permitAccess2) {\r
2290         if (($t != "") && $andromedaPrefs["permitTranslation"]) {\r
2291           setcookie("clang", $currentLanguage);\r
2292         }\r
2293         andromedaHeader(trans(14));\r
2294         echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\" height=220><tr><td align=center>";\r
2295         if ($andromedaPrefs["logonMessage"] != "") {\r
2296           echo "<font size=\"2\">" . $andromedaPrefs["logonMessage"] . "</font>";\r
2297           addvpad(12);\r
2298         }\r
2299         echo "<table cellspacing=0 cellpadding=1 border=0 bgcolor=\"" . $andromedaPrefs["menubarColor"] . "\"><form method=post action=" . andrLink("","") . "><input type=hidden name=q value=l><tr><td><table cellspacing=0 cellpadding=2 border=0 bgcolor=\"" . $andromedaPrefs["rowColor1"] . "\" width=100%><tr><td><font face=\"helvetica,arial\" size=\"1\" color=\"" . $andromedaPrefs["rowTextColor"] . "\">" . trans(14) . "</font></td></tr></table>";\r
2300         colorbar("100%","1",$andromedaPrefs["menubarColor"]);\r
2301         echo "<table cellspacing=0 cellpadding=0 border=0 bgcolor=\"" . $andromedaPrefs["rowColor2"] . "\" width=100%><tr><td><table cellspacing=0 cellpadding=2 border=0 width=100%><tr><td align=right><font size=\"1\" face=\"helvetica,arial\" color=\"" . $andromedaPrefs["rowTextColor"] . "\">" . trans(15) . ":</font></td><td><input name=flogon size=16 value=\"" . htmlspecialchars($flogon) . "\" style=\"font-size:9pt;\"></td></tr><tr><td align=right><font size=\"1\" face=\"helvetica,arial\" color=\"" . $andromedaPrefs["rowTextColor"] . "\">" . trans(16) . ":</font></td><td><input name=fpassword type=password size=16 style=\"font-size:9pt;\"></td></tr></table></td><td>";\r
2302         ipad(4,1);\r
2303         echo "</td><td>";\r
2304         imagetag("g","f","");\r
2305         echo "</td><td>";\r
2306         ipad(2,1);\r
2307         echo "</td></tr></table></td></tr></form></table></td></tr></table>";\r
2308         colorbars($andromedaPrefs["bodyFgDiv"]);\r
2309         andromedaFooter();\r
2310       } else {\r
2311         setcookie("logon", fixgpc($flogon));\r
2312         setcookie("password", fixgpc($fpassword));\r
2313         andromedaHeaderCore(trans(41),true);\r
2314         echo "<table cellspacing=0 cellpadding=4 border=0 width=\"" . $andromedaPrefs["siteWidth"] . "\" bgcolor=\"" . $andromedaPrefs["bodyFgColor"] . "\" height=220><tr><td align=center>";\r
2315         if ($andromedaPrefs["disableHTMLheaders"]) {\r
2316           echo "<font color=" . $andromedaPrefs["bodyTextColor"] . ">";\r
2317         }\r
2318         echo trans(41) . ". " . trans(43) . ", ";\r
2319         if ($andromedaPrefs["disableHTMLheaders"]) {\r
2320           echo "<a href=" . andrLink("","") . " style=\"color:" . $andromedaPrefs["bodyLinkColor"] . "\"><font color=\"" . $andromedaPrefs["bodyLinkColor"] . "\">" . trans(42) . "</font></a>";\r
2321         } else {\r
2322           echo "<a href=" . andrLink("","") . ">" . trans(42) . "</a>";\r
2323         }\r
2324         echo ".";\r
2325         if ($andromedaPrefs["disableHTMLheaders"]) {\r
2326           echo "</font>";\r
2327         }\r
2328         echo "</td></tr></table>";\r
2329         colorbars($andromedaPrefs["bodyFgDiv"]);\r
2330         andromedaFooter();\r
2331       }\r
2332     } else {\r
2333       if (($t != "") && $andromedaPrefs["permitTranslation"]) {\r
2334         header("Location: " . andrLink("?q=l&t=" . $t,""));\r
2335       } else {\r
2336         header("Location: " . andrLink("?q=l",""));\r
2337       }\r
2338     }\r
2339   } else {\r
2340     if (($t != "") && $andromedaPrefs["permitTranslation"]) {\r
2341       setcookie("clang", fixgpc($currentLanguage));\r
2342     }\r
2343     $ckplaylist = readPlaylist("playlist");\r
2344     if (($q == "f") && vpath(fixgpc($f))) {\r
2345       showfolder(fixgpc($f));\r
2346     } elseif (($q == "p") && vpath(fixgpc($p)) && $andromedaPrefs["playLinks"]) {\r
2347       playFolder(fixgpc($p));\r
2348     } elseif (($q == "m") && vpath(fixgpc($m)) && $andromedaPrefs["playLinks"]) {\r
2349       playPrepList("i" . fixgpc($m) . "\n");\r
2350     } elseif (($q == "s") && $andromedaPrefs["permitSearch"]) {\r
2351       search(fixgpc($s),$sm);\r
2352     } elseif (($q == "y") && ($andromedaPrefs["permitPlaylists"])) {\r
2353       switch ($y) {\r
2354         case "p":\r
2355           if ($andromedaPrefs["playLinks"]) {\r
2356             playPrepList($ckplaylist);\r
2357           }\r
2358           break;\r
2359         case trans(10):\r
2360           if ($andromedaPrefs["playLinks"]) {\r
2361             if ($m == 1) {\r
2362               for ($i=0; $i < count($f); $i++) {\r
2363                 $pftmp = $pftmp . fixgpc($f[$i]) . "\n";\r
2364               }\r
2365               playPrepList($pftmp);\r
2366             } else {\r
2367               $selectlist = " ";\r
2368               for ($i=0; $i < count($f); $i++) {\r
2369                 $selectlist = $selectlist . "[" . $f[$i] . "]";\r
2370               }\r
2371               $xtmpa = explode("\n",$ckplaylist);\r
2372               for ($xi = 0; $xi < count($xtmpa)-1; $xi++) {\r
2373                 if (strpos($selectlist,"[" . ($xi + 1) . "]") != 0) {\r
2374                   $xtmp = $xtmp . $xtmpa[$xi] . "\n";\r
2375                 }\r
2376               }\r
2377               playPrepList($xtmp);\r
2378             }\r
2379           }\r
2380           break;\r
2381         case trans(8):\r
2382           $xtmp = readPlaylist("playlist");\r
2383           for ($i=0; $i < count($f); $i++) {\r
2384             if (vpath(substr($f[$i],1))) {\r
2385               $xtmp = $xtmp . fixgpc($f[$i]) . "\n";\r
2386             }\r
2387           }\r
2388           $xtmp = substr($xtmp,0,$andromedaPrefs["cBlockSize"] * $andromedaPrefs["cBlockCount"] = 1);\r
2389           $xtmp = substr($xtmp,0,strrpos($xtmp,"\n")+1);\r
2390           $ckplaylist = $xtmp;\r
2391           writePlaylist("playlist");\r
2392           displayPlaylist("playlist");\r
2393           break;\r
2394         case trans(45):\r
2395           displayPlaylist("playlist");\r
2396           break;\r
2397         case trans(9):\r
2398           $removelist = " ";\r
2399           for ($i=0; $i < count($f); $i++) {\r
2400             $removelist = $removelist . "[" . $f[$i] . "]";\r
2401           }\r
2402           $xtmpa = explode("\n",$ckplaylist);\r
2403           for ($xi = 0; $xi < count($xtmpa)-1; $xi++) {\r
2404             if (strpos($removelist,"[" . ($xi + 1) . "]") == 0) {\r
2405               $xtmp = $xtmp . $xtmpa[$xi] . "\n";\r
2406             }\r
2407           }\r
2408           $ckplaylist = $xtmp;\r
2409           writePlaylist("playlist");\r
2410           displayPlaylist("playlist");\r
2411           break;\r
2412         default:\r
2413           showfolder("");\r
2414       }\r
2415     } else {\r
2416       showfolder("");\r
2417     }\r
2418   }\r
2419 }\r
2420 ?>\r