SIMON Master Console Rebuild
True command center for SIMON + WEB360
This rebuild gives you a cleaner production spine: interactive tree, live viewer, guarded editor, dynamic graphics, architecture map, and note storage. It is designed to sit beside your existing
console.php
and become the stronger replacement path.
Dashboard
Tree
Viewer
System Map
File Registry
Notes
Files
15,325
Folders
409
Scanned Size
3.84 GB
PHP Files
885
Editable Text Files
12,586
File viewer
guarded to /htdocs
/connlink/test1/ui/troubleshoot.php
<?php declare(strict_types=1);require __DIR__.'/bootstrap.php'; $msg='';if($_SERVER['REQUEST_METHOD']==='POST'){$a=(string)($_POST['action']??'');if($a==='clear_cache'){$n=0;foreach(glob(SIMON_CACHE_DIR.'/*.json')?:[] as $f)if(@unlink($f))$n++;$msg="Cleared $n cache files.";}elseif($a==='clear_logs'){foreach([SIMON_LOG_DIR.'/feed_events.ndjson',SIMON_LOG_DIR.'/php_errors.log',SIMON_DIAGNOSTIC_LOG] as $f)@unlink($f);$msg='Logs cleared.';}} function tailf(string $p,int $n=80):string{if(!is_file($p))return '(no log file)';$x=file($p,FILE_IGNORE_NEW_LINES);return implode("\n",array_slice($x?:[],-$n));} ?><!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>SIMON Troubleshoot</title><style>body{margin:0;background:#05041a;color:#eef5ff;font:14px/1.45 system-ui}.w{max-width:1200px;margin:auto;padding:22px}.top,.acts{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.grow{flex:1}.btn{border:1px solid rgba(75,227,255,.28);background:#11102f;color:#eef5ff;padding:9px 13px;border-radius:999px;text-decoration:none;cursor:pointer}.hot{background:linear-gradient(135deg,#4be3ff,#7a5cff);color:#05041a;font-weight:900}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.p{border:1px solid rgba(75,227,255,.22);background:#11102f;border-radius:16px;padding:15px}.p h2{margin-top:0;font-size:17px}pre{white-space:pre-wrap;word-break:break-word;background:#08071e;padding:12px;border-radius:12px;max-height:360px;overflow:auto;color:#bcd0ee}.msg{color:#7cff9e}@media(max-width:800px){.grid{grid-template-columns:1fr}}</style></head><body><div class="w"><div class="top"><div><h1>SIMON Troubleshoot Console</h1><div style="color:#9ba7c8">Relative-path safe · logs · cache · endpoint tests</div></div><span class="grow"></span><a class="btn" href="index.php">Dashboard</a><a class="btn hot" href="system_check.php">System Check</a></div><?php if($msg):?><p class="msg"><?=htmlspecialchars($msg)?></p><?php endif?><div class="acts"><a class="btn" target="_blank" href="feed_proxy.php?limit=3">Test Feed API</a><a class="btn" target="_blank" href="feed_proxy.php?source=nasa_all&limit=3&force=1">Test NASA</a><a class="btn" target="_blank" href="job_runner.php?action=status">Test Jobs</a><a class="btn" target="_blank" href="graph_api.php?action=stats">Test Graph</a><a class="btn" target="_blank" href="event_store.php?action=stats">Test AI Store</a><form method="post"><input type="hidden" name="action" value="clear_cache"><button class="btn">Clear Cache</button></form><form method="post"><input type="hidden" name="action" value="clear_logs"><button class="btn">Clear Logs</button></form></div><div class="grid"><section class="p"><h2>PHP errors</h2><pre><?=htmlspecialchars(tailf(SIMON_LOG_DIR.'/php_errors.log'))?></pre></section><section class="p"><h2>Provider events</h2><pre><?=htmlspecialchars(tailf(SIMON_LOG_DIR.'/feed_events.ndjson'))?></pre></section><section class="p"><h2>Diagnostics</h2><pre><?=htmlspecialchars(tailf(SIMON_DIAGNOSTIC_LOG))?></pre></section><section class="p"><h2>Deployment facts</h2><pre><?=htmlspecialchars(json_encode(['version'=>SIMON_FEED_VERSION,'php'=>PHP_VERSION,'root'=>SIMON_ROOT,'document_root'=>$_SERVER['DOCUMENT_ROOT']??'','script'=>$_SERVER['SCRIPT_NAME']??'','https'=>$_SERVER['HTTPS']??'off','extensions'=>['curl'=>extension_loaded('curl'),'simplexml'=>extension_loaded('simplexml'),'mbstring'=>extension_loaded('mbstring')]],JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES))?></pre></section></div></div></body></html>
Save file
Quick jump
open a path
Open