index.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. <?php
  2. const N="\n";
  3. $instpath='/mastostart';
  4. $path=preg_replace('/^'.preg_quote($instpath,'/').'/','',$_SERVER['REQUEST_URI']);
  5. $ndir=preg_match_all('/\//',$path)-1;
  6. $prepath='';
  7. for ($i=0; $i<$ndir; $i++)
  8. $prepath.='../';
  9. $menu=array(
  10. 'guide'=>array('lijs'=>null, 'href'=>$instpath, 'title'=>'Guide', 'selected'=>false, 'submenu'=>null),
  11. 'instances'=>array('lijs'=>null, 'href'=>$instpath.'/instances', 'title'=>'Instances', 'selected'=>false, 'submenu'=>null),
  12. 'about'=>array('lijs'=>null, 'href'=>$instpath.'/about', 'title'=>'About', 'selected'=>false, 'submenu'=>null),
  13. 'language'=>array('lijs'=>null, 'href'=>null, 'title'=>'Language', 'selected'=>false, 'submenu'=>array(
  14. 'inglese'=>array('lijs'=>'onclick=golang("en")', 'href'=>null, 'title'=>'English', 'selected'=>false, 'submenu'=>null),
  15. 'italiano'=>array('lijs'=>'onclick=golang("it")', 'href'=>null, 'title'=>'Italiano', 'selected'=>false, 'submenu'=>null)
  16. )
  17. )
  18. );
  19. function tradmenu($lang) {
  20. global $menu;
  21. switch ($lang) {
  22. case 'it':
  23. $menu['guide']['title']='Guida';
  24. $menu['guide']['href'].='/it';
  25. $menu['instances']['title']='Istanza';
  26. $menu['instances']['href'].='/it';
  27. $menu['about']['title']='Info';
  28. $menu['about']['href'].='/it';
  29. $menu['language']['title']='Lingua';
  30. break;
  31. }
  32. }
  33. switch($path) {
  34. case '/':
  35. $cont=array(
  36. 'fp'=>'home_en.php',
  37. 'lang'=>'en',
  38. 'atit'=>' - Guide',
  39. 'js'=>array('shsum','guideanchors','scrolltrack')
  40. );
  41. $menu['guide']['lijs']='onclick="shsum()" onmouseover="this.style.cursor=\'pointer\'"';
  42. $menu['guide']['href']=null;
  43. $menu['guide']['selected']=true;
  44. $menu['language']['submenu']['inglese']['lijs']=null;
  45. $menu['language']['submenu']['inglese']['selected']=true;
  46. break;
  47. case '/it':
  48. $cont=array(
  49. 'fp'=>'home_it.php',
  50. 'lang'=>'it',
  51. 'atit'=>' - Guida',
  52. 'js'=>array('shsum','guideanchors','scrolltrack')
  53. );
  54. tradmenu('it');
  55. $menu['guide']['lijs']='onclick="shsum()" onmouseover="this.style.cursor=\'pointer\'"';
  56. $menu['guide']['href']=null;
  57. $menu['guide']['selected']=true;
  58. $menu['language']['submenu']['italiano']['lijs']=null;
  59. $menu['language']['submenu']['italiano']['selected']=true;
  60. break;
  61. case '/instances':
  62. $cont=array(
  63. 'fp'=>'instances_en.php',
  64. 'lang'=>'en',
  65. 'atit'=>' - Instances',
  66. 'js'=>array()
  67. );
  68. $menu['instances']['href']=null;
  69. $menu['instances']['selected']=true;
  70. $menu['language']['submenu']['inglese']['lijs']=null;
  71. $menu['language']['submenu']['inglese']['selected']=true;
  72. break;
  73. case '/instances/it':
  74. $cont=array(
  75. 'fp'=>'instances_it.php',
  76. 'lang'=>'it',
  77. 'atit'=>' - Istanze',
  78. 'js'=>array()
  79. );
  80. tradmenu('it');
  81. $menu['instances']['href']=null;
  82. $menu['instances']['selected']=true;
  83. $menu['language']['submenu']['italiano']['lijs']=null;
  84. $menu['language']['submenu']['italiano']['selected']=true;
  85. break;
  86. case '/about':
  87. $cont=array(
  88. 'fp'=>'about_en.php',
  89. 'lang'=>'en',
  90. 'atit'=>' - About us',
  91. 'js'=>array()
  92. );
  93. $menu['about']['href']=null;
  94. $menu['about']['selected']=true;
  95. $menu['language']['submenu']['inglese']['lijs']=null;
  96. $menu['language']['submenu']['inglese']['selected']=true;
  97. break;
  98. case '/about/it':
  99. $cont=array(
  100. 'fp'=>'about_it.php',
  101. 'lang'=>'it',
  102. 'atit'=>' - Info',
  103. 'js'=>array()
  104. );
  105. tradmenu('it');
  106. $menu['about']['href']=null;
  107. $menu['about']['selected']=true;
  108. $menu['language']['submenu']['italiano']['lijs']=null;
  109. $menu['language']['submenu']['italiano']['selected']=true;
  110. break;
  111. default:
  112. $cont=array(
  113. 'fp'=>'404.php',
  114. 'lang'=>'en',
  115. 'atit'=>' - 404',
  116. 'js'=>array()
  117. );
  118. break;
  119. }
  120. /*
  121. <li><a href="<?php echo($instpath); ?>">Guide</a></li>
  122. <li><a href="instances">Instances</a></li>
  123. <li><a href="about">About us</a></li>
  124. <li onmouseover="chulsh(this,true)" onmouseout="chulsh(this,false)">Language
  125. <ul class="ula" onmouseover="ulsh(this,true)" onmouseout="ulsh(this,false)">
  126. <li><a href="#">English</a></li>
  127. <li><a href="#">Italiano</a></li>
  128. </ul>
  129. </li>
  130. */
  131. $menuout='';
  132. function buildmenu($menu) {
  133. global $menuout;
  134. foreach ($menu as $key=>$arr) {
  135. $menuout.='<li';
  136. if (!is_null($arr['lijs'])) $menuout.=' '.$arr['lijs'];
  137. if (!is_null($arr['submenu'])) $menuout.=' onmouseover="chulsh(this,true)" onmouseout="chulsh(this,false)"';
  138. if ($arr['selected']) $menuout.=' class="hil"';
  139. $menuout.='>';
  140. if (!is_null($arr['href']))
  141. $menuout.='<a href="'.$arr['href'].'">'.$arr['title'].'</a>';
  142. else
  143. $menuout.=$arr['title'];
  144. if (!is_null($arr['submenu'])) {
  145. $menuout.=N.'<ul class="ula" onmouseover="ulsh(this,true)" onmouseout="ulsh(this,false)">'.N;
  146. buildmenu($arr['submenu']);
  147. $menuout.='</ul>'.N;
  148. }
  149. $menuout.='</li>'.N;
  150. }
  151. }
  152. buildmenu($menu);
  153. //echo(htmlentities($menuout));
  154. $cjrand=rand(0,999999);
  155. ?>
  156. <!DOCTYPE HTML>
  157. <html lang="<?php echo($cont['lang']); ?>">
  158. <head>
  159. <title>Mastodon Startpage<?php echo($cont['atit']); ?></title>
  160. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  161. <meta name="description" content="A thorough introduction to Mastodon">
  162. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  163. <link rel="shortcut icon" href="<?php echo($prepath); ?>favicon.ico">
  164. <link rel="stylesheet" type="text/css" href="<?php echo($prepath); ?>theme.css?v=<?php echo($cjrand); ?>">
  165. <?php
  166. foreach ($cont['js'] as $val)
  167. echo('<script language="JavaScript" src="js/'.$val.'.js?v='.$cjrand.'"></script>'.N);
  168. ?>
  169. <script language="JavaScript">
  170. <!--
  171. function chulsh(el,sh) {
  172. if (sh)
  173. el.querySelector('ul').style='display:block';
  174. else
  175. el.querySelector('ul').style='display:none';
  176. }
  177. function ulsh(el,sh) {
  178. if (sh)
  179. el.style='display:block';
  180. else
  181. el.style='display:none';
  182. }
  183. function golang(lang) {
  184. var loc=document.location.href;
  185. loc=loc.replace(/#.*$/,'');
  186. loc=loc.replace(/\/$/,'');
  187. if (document.documentElement.lang=='en') {
  188. if (lang!='en')
  189. document.location.href=loc+'/'+lang;
  190. } else {
  191. if (lang!='en')
  192. document.location.href=loc.substr(0,loc.length-3)+'/'+lang;
  193. else
  194. document.location.href=loc.substr(0,loc.length-3);
  195. }
  196. }
  197. //-->
  198. </script>
  199. </head>
  200. <?php
  201. require($cont['fp']);
  202. ?>
  203. </html>