<?php $local = (isset($_REQUEST['cdn']) || $_SERVER['SERVER_NAME']=='mac3d.elettra.eu')? false: true; // true = use only locally installed modules, false = use cdn $machine = empty($_REQUEST['machine'])? 'elettra': strtolower($_REQUEST['machine']); $simulator = false; if (strpos($machine, 'simulator_')!==false) {$simulator = true; list($trash, $machine) = explode('_', $machine, 2);} $l = file_get_contents($simulator? 'http://'.$_SERVER["HTTP_HOST"].strtr($_SERVER["PHP_SELF"], array('panther2d.php'=>'')).'simulator.php?lattice&machine='.$machine: $machine.'_lattice.json'); $lattice = json_decode($l, true); // die(json_encode($lattice)); $modules = ''; if (!empty($lattice['conf']['modules'])) foreach ($lattice['conf']['modules'] as $m) { $modules .= " <script type='text/javascript' src='./{$m}2d.js'></script>\n"; } ?> <!DOCTYPE html> <html lang="en"> <head> <title>PAnTHer</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> <link rel="stylesheet" href="<?php echo ($local? '../lib/jquery/jquery-ui.min.css': 'https://code.jquery.com/ui/1.13.3/themes/base/jquery-ui.css');?>"> <script src="<?php echo ($local? '../lib/jquery/jquery.min.js': 'https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js');?>" type="text/javascript"></script> <script src="<?php echo ($local? '../lib/jquery/jquery-ui.min.js': 'https://cdn.jsdelivr.net/npm/jquery-ui@1.13.3/dist/jquery-ui.min.js');?>" type="text/javascript"></script> <script src="<?php echo ($local? '../lib/node_modules/three/examples/jsm/libs/lil-gui-0.19.min.js': 'https://cdn.jsdelivr.net/npm/lil-gui@0.19.1/dist/lil-gui.umd.min.js');?>" type="text/javascript"></script> </head> <body style="overflow: hidden; background-color: #333333;"> <style> .vlv {fill: white;} .bst {fill: white;} .blm {display: none;} .lil-gui.autoPlace {z-index: 1 !important;} </style> <!--div id='pin' style='position:absolute; display:none;'></div--> <div id='tooltip' style='position:absolute; display:none;'> <div style='width: 490px; background-color: white; padding:5px; border-width: 3px; border-color: blue; border-top-left-radius: 5px; border-top-right-radius: 5px;'><table><tr><td>search in <b>components</b> DB </td><td><span id='compdb'></span></td></tr></table></div> <iframe id='tooltipFrame' style="border:0; position:absolute; background:transparent; " width="500px" height="220px" src=''></iframe> </div> <div id='main' onClick="hideTooltip()"> <?php list($bundle, $trash) = explode('_', $machine, 2); if ($simulator) $bundle = 'simulator'; file_put_contents('./logs2d'.date('Y').'.txt', date('Y-m-d H:i:s').' '.$_SERVER['REMOTE_ADDR'].'_'.$_SERVER['HTTP_X_FORWARDED_FOR'].' - '.$_SERVER['QUERY_STRING'].PHP_EOL , FILE_APPEND | LOCK_EX); $f = file_get_contents("./panther_conf.js"); echo "\n<script>\n".strtr($f, array('export '=>''))."</script>\n"; $f = file_get_contents("./components/bundle_{$bundle}2d.svg"); $replace = array('</svg>'=>' <filter x="0" y="0" width="1" height="1" id="solid"> <feFlood flood-color="#333" flood-padding="20" result="bg" /> <feMerge> <feMergeNode in="bg"/> <feMergeNode in="SourceGraphic"/> </feMerge> </filter> </svg>'); if (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox/63') !== false) $replace['fill="url(#Pattern)"']='fill="#a6a4c9"'; echo strtr($f, $replace); ?> </div> <div id='measurement' style='display:none; position:absolute; left:5px; top:5px; max-width:600px; z-index: 10000;'> <input id='pos' size='10'> <input id='stright' size='3' style='background-color: yellow;'> <input id='bm' size='3' style='background-color: limegreen;'> <span style='font-size: 80%; background-color: white;padding: 3px;'>[m]</span> </div> <div id='notice' style='display:<?php echo $_REQUEST['machine']=='elettra2'? 'block': 'none';?>; position:absolute; right:5px; bottom:5px; max-width:600px; z-index: 10000;'> Data source <a href='https://drive.elettra.eu/group/268/' target="_blank">https://drive.elettra.eu/group/268/</a> </div> <script type="text/javascript" src="./svg-pan-zoom.min.js"></script> <!--script type="text/javascript" src="./svg-pan-zoom-rotate.js"></script--> <script type="text/javascript" src="<?php echo ($local? '../spa/js/hammer.min.js': 'https://cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min.js');?>"></script> <script type="text/javascript" src="./blm2d.js"></script> <script type="text/javascript" src="./bpm2d.js"></script> <script type="text/javascript" src="./panther2d.js"></script> <?php echo trim($modules);?> </body> </html>